2016-03-22 2 views
0

J'ai une variable NLog que je veux définir la valeur lors de l'exécution, en C#:Les variables NLog peuvent-elles être modifiées par programmation si Common.Logging est utilisé?

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

Mais c'est le code NLog. J'envisage d'utiliser Common.Logging plutôt que d'utiliser directement NLog. Je ne vois pas comment faire ce genre de chose grâce à Common.Logging. Y a-t-il un moyen?

Alternativement, peut-être y a-t-il un moyen de le faire à l'exécution depuis le fichier de configuration NLog lui-même? Alors que Common.Logging peut être évité? Par exemple, quelque chose comme:

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

De préférence où cette fonction serait appelée une fois, lors de la première utilisation, plutôt que d'être appelé à chaque fois que la variable est référencée?

Répondre

0

n'a pas encore trouvé une réponse directe, mais j'ai trouvé quelque chose qui est assez bon pour mes fins, donc je mentionner ici dans le cas où il pourrait aider quelqu'un à l'avenir:

Au lieu d'une variable , Je viens d'écrire un custom layout renderer, ce qui est assez simple.