NLog 无法将日志文件写入磁盘
NLog can't write log file to disk
美好的一天,
我遇到了问题。我试试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}
。一切正常。
打开NLog 的内部日志记录。检查你那里有什么。另外,不要将 internal log 写入文件,而是将其写入控制台。
// enable internal logging to the console
InternalLogger.LogToConsole = true;
在内部日志中查找错误。你会明白为什么它不起作用。
美好的一天, 我遇到了问题。我试试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}
。一切正常。
打开NLog 的内部日志记录。检查你那里有什么。另外,不要将 internal log 写入文件,而是将其写入控制台。
// enable internal logging to the console
InternalLogger.LogToConsole = true;
在内部日志中查找错误。你会明白为什么它不起作用。