我正在尝试nlog
使用Azure webapp日志流。
如果我不使用nlog,则会显示日志,只需使用System.Diagnostics.Trace.WriteLine
。
但是,如果我在我的nlog.config中使用Trace
类型,则它不会显示跟踪日志......
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target xsi:type="Trace" name="trace" layout="${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="trace" />
</rules>
</nlog>
我看不到任何与此处接受的答案不同的事情......
How to integrate NLog to write log to Azure Streaming log
请注意,我删除了nlog.config文件以显示跟踪 - 但我通常也有一个File
目标类型 - 我尝试过使用和不使用此功能。
我已登录部署的Azure网站,并且nlog配置文件已成功上传。我正在使用Github部署进行部署。
我在Azure中使用日志记录集只使用文件系统日志记录,我将其设置为verbose
。
有什么想法吗?
答案 0 :(得分:4)
事实证明,当Visual Studio启用Application Insights(我最近添加到项目中的东西)时,它已将nlog配置部分插入到我的web.config中。这意味着我的nlog.config文件根本没有被使用。我已经通过从web.config中删除nlog配置部分来修复它,并将Application Insights目标复制到我的nlog.config文件中。 &#39;跟踪&#39;目标类型现在按预期工作,并出现在Azure流日志中。
答案 1 :(得分:2)
NLog-Trace-Target仅对调试级日志事件执行Trace.WriteLine。
也许尝试这里显示的自定义MyTraceTarget:
https://github.com/NLog/NLog/issues/1968
更新 NLog ver。 4.5为NLog Trace-target添加新设置rawWrite
,因此它始终独立于LogLevel执行WriteLine。另请参阅https://github.com/NLog/NLog/wiki/Trace-target