2016-03-22 12 views
0

Ich habe eine NLog Variable, die ich den Wert zur Laufzeit, in C# festlegen möchten:Können NLog-Variablen programmatisch geändert werden, wenn Common.Logging verwendet wird?

LogManager.Configuration.Variables["MyVarName"] = DetermineMyVarValue(); 

Aber das ist Code NLog. Ich erwäge, Common.Logging zu verwenden, anstatt NLog direkt zu verwenden. Ich sehe nicht, wie man so etwas durch Common.Logging macht. Gibt es einen Weg?

Alternativ gibt es vielleicht eine Möglichkeit, es zur Laufzeit aus der NLog-Konfigurationsdatei selbst zu tun? Damit Common.Logging umgangen werden kann? Zum Beispiel so etwas wie:

<variable name="MyVarName" value="MyStaticClass.DetermineMyVarValue()"/> 

Vorzugsweise, wenn diese Funktion würde einmal, bei der ersten Verwendung genannt werden, anstatt jedes Mal aufgerufen wird die Variable verwiesen wird?

Antwort

0

Haben noch nicht gefunden eine direkte Antwort, aber ich habe etwas gefunden, das für meine Zwecke gut genug, so dass ich es hier im Fall erwähnen, es könnte jemand in der Zukunft helfen:

Statt einer Variablen Ich habe gerade eine custom layout renderer geschrieben, die ziemlich einfach ist.