我有以下NLog目标标记(它全部在一行,我只是将它拆分为简单阅读):
<target
name="FileLogger"
xsi:type="File"
fileName="e:\logs\${date:format=yyMMdd}_debug.log"
archiveNumbering="Sequence"
archiveAboveSize="1000000"
layout="${longdate} | ${level:uppercase=true} | ${event-context:item=workName} | ${logger} | ${callsite:filename=true} | ${message}"
archiveEvery="Day"/>
当我查看我的文件夹时,我的日志被命名为:
010101_debug.log
010101_debug.0.log
010101_debug.1.log
etc.
那为什么日期总是010101?布局中的${longdate}
也不起作用。
如果您需要更多我的代码,请告诉我。
答案 0 :(得分:1)
我解决了!
我在一个看起来像这样的辅助类中创建了自己的函数:
public static void Error(string workName, string message, string logcontext, string exMessage = "")
{
LogEventInfo logEvent = new LogEventInfo(LogLevel.Error, logcontext, message + (!string.IsNullOrEmpty(exMessage) ? ": " : string.Empty) + exMessage);
logEvent.Properties["workName"] = workName;
logger.Log(typeof(InternalLogger), logEvent);
}
对于所有日志级别都是如此。我不知道为什么,但那解决了它^^