是否可以使用${shortdate}
中的internalLogFile
?
<nlog internalLogFile="C:\Logs\${shortdate}_nlog.log"
<targets>
<target name="logfile"
fileName="C:/logs/${shortdate}_dev.log"
</target>
我收到了预期的日期日志文件,但内部日志文件名为...
${shortdate}_nlog.log
答案 0 :(得分:2)
简短回答:不。
更长的答案:内部记录器文件名只是一个字符串。它在初始化期间读入,XmlLoggingConfiguration
类确保目录存在,而(例如)FileTarget
使用Layout
for fileName转换使用{LayoutRenderers
提供的值1}}。
答案 1 :(得分:2)
https://github.com/NLog/NLog/issues/581#issuecomment-74923718
通过阅读他们的评论我的理解是内部日志记录应该简单,稳定并且谨慎使用。通常,您只能在尝试弄清楚设置出错时才打开它。
如果需要,您仍然可以根据日期时间动态命名内部日志文件。但是它不会像目标文件那样具有相同的翻转效果。每当你初始化你的记录器时,它基本上会有不同的日期时间。
DateTime dt = DateTime.Now;
NLog.Common.InternalLogger.LogFile = @"C:\CustomLogs\NLog_Internal\internal_NLogs" + dt.ToString("yyyy-MM-dd") + ".txt";