美好的一天, 我遇到了问题。我试试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}
。一切都很好。
答案 0 :(得分:1)
打开NLog的内部日志记录。检查你有什么。而不是将internal log写入文件,而是将其写入控制台。
// enable internal logging to the console
InternalLogger.LogToConsole = true;
查找内部日志中的错误。你会明白为什么它不起作用。