1
如何使用C#中的变量动态更改FileName?我的想法是创建一个日志文件,如Log_<UserId_From_DB>_${date:format=yyyy-MM-dd}.log
。 任何想法?NLog使用NLog.config动态更改文件名
如何使用C#中的变量动态更改FileName?我的想法是创建一个日志文件,如Log_<UserId_From_DB>_${date:format=yyyy-MM-dd}.log
。 任何想法?NLog使用NLog.config动态更改文件名
假设你有一个名为mylogfile.log一个日志文件在您nlog.config文件
FileTarget target = LogManager.Configuration.FindTargetByName("mylogfile.log") as FileTarget;
String customlog = "Log_" + GetUserId(UserId_From_DB) + "_" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
target.FileName = customlog;
另一种选择是使用全局变量。
设置在C#
LogManager.Configuration.Variables["UserId_From_DB"] = "42";
在配置(nlog.config)值:
<target type="file" filename="Log_${var:UserId_From_DB}_${date:format=yyyy-MM-dd}.log" ..>
如果该值再次设置,文件名会自动更改。