无法在 Azure App Service 上生成日志 NLog 内部日志记录文件
Unable to generate log NLog internal logging file on Azure App Service
我 运行 Azure 应用服务上的网站和网络作业,我想启用 NLog 内部调试来解决一些日志记录问题。在我的 NLog 配置代码中,我这样做:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = "nlog.txt";
当在开发过程中在本地 运行 时,nlog.txt
出现在应用程序二进制目录 (bin
) 中。在 Azure 上它不会显示。假设可能是文件系统权限问题,我将代码更改为:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = @"d:\logfiles\nlog.txt";
Azure 应用服务保证 d:\logfiles\
目录是可写的。但是仍然没有 nlog.txt
文件。
想法?
其实LogFiles
文件夹在Azure的D:\home
下(你提到文件路径是d:\logfiles\
,所以我也尝试在[下创建一个LogFiles
文件夹=15=]直接驱动,但出现500内部服务器错误)。
请尝试将 InternalLogger.LogFile 的值更改为 d:\home\LogFiles\nlog.txt
,例如 InternalLogger.LogFile= @"d:\home\LogFiles\nlog.txt"
。
我可以使用以下代码在 Azure 中看到生成的 nlog.txt:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = @"d:\home\LogFiles\nlog.txt";
InternalLogger.Log(LogLevel.Trace, "a text message from here....");
测试结果可参考下图
我 运行 Azure 应用服务上的网站和网络作业,我想启用 NLog 内部调试来解决一些日志记录问题。在我的 NLog 配置代码中,我这样做:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = "nlog.txt";
当在开发过程中在本地 运行 时,nlog.txt
出现在应用程序二进制目录 (bin
) 中。在 Azure 上它不会显示。假设可能是文件系统权限问题,我将代码更改为:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = @"d:\logfiles\nlog.txt";
Azure 应用服务保证 d:\logfiles\
目录是可写的。但是仍然没有 nlog.txt
文件。
想法?
其实LogFiles
文件夹在Azure的D:\home
下(你提到文件路径是d:\logfiles\
,所以我也尝试在[下创建一个LogFiles
文件夹=15=]直接驱动,但出现500内部服务器错误)。
请尝试将 InternalLogger.LogFile 的值更改为 d:\home\LogFiles\nlog.txt
,例如 InternalLogger.LogFile= @"d:\home\LogFiles\nlog.txt"
。
我可以使用以下代码在 Azure 中看到生成的 nlog.txt:
InternalLogger.LogLevel = LogLevel.Trace;
InternalLogger.LogFile = @"d:\home\LogFiles\nlog.txt";
InternalLogger.Log(LogLevel.Trace, "a text message from here....");
测试结果可参考下图