2016-03-22 39 views
0

我有,我想在運行時設置的值的變量NLOG,在C#:如果Common.Logging正在使用,NLog的變量是否可以編程方式修改?

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

但這NLOG代碼。我正在考慮使用Common.Logging,而不是直接使用NLog。我不知道如何通過Common.Logging來做這種事情。有沒有辦法?

或者,也許有一種方法可以在運行時從NLog配置文件本身中執行它?這樣Common.Logging可以被迴避了嗎?例如,像:

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

優選地,其中該函數將被調用一次,在第一次使用,而不是被稱爲每次變量被引用的時間?

回答

0

還沒有找到一個直接的答案,但我發現東西是我的目的不夠好,所以我在這裏提到它的情況下,它可能有助於在未來的人:

而不是一個變量,我只寫了一個custom layout renderer,這非常簡單。