NLog无法将日志文件写入磁盘

时间:2016-03-22 14:36:56

标签: c# nlog

美好的一天, 我遇到了问题。我试试NLog,配置代码列在下面

var config = new LoggingConfiguration();

var fileTarget = new FileTarget();
config.AddTarget("file", fileTarget);

fileTarget.FileName = @"D:\" + filename;
fileTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message}";

var rule1 = new LoggingRule("*", LogLevel.Debug, fileTarget);
config.LoggingRules.Add(rule1);

LogManager.Configuration = config;

Logger logger = LogManager.GetLogger("Example");
logger.Debug("debug log message");

代码来自一些教程。什么也没发生。日志文件未在磁盘D上创建。但它是在项目的输出目录中创建的。我试过了@"C:\" + filename。我很惊讶,但是日志文件就在那里。

然后我尝试登录@"D:\SomeFolder\" + filename,文件也在那里。

那么,任何人都可以帮助我理解@"D:\" + filename的错误。

P.S。 Visual Studio 2013,以管理员权限运行。另外,我试过${basedir}。一切都很好。

1 个答案:

答案 0 :(得分:1)

打开NLog的内部日志记录。检查你有什么。而不是将internal log写入文件,而是将其写入控制台。

 // enable internal logging to the console
    InternalLogger.LogToConsole = true;

查找内部日志中的错误。你会明白为什么它不起作用。