nlog longdate总是返回默认值

时间:2014-07-02 15:10:11

标签: c# .net nlog

我有以下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}也不起作用。 如果您需要更多我的代码,请告诉我。

1 个答案:

答案 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);
}

对于所有日志级别都是如此。我不知道为什么,但那解决了它^^