使用NLog进行Azure日志流

时间:2017-02-24 13:14:39

标签: azure logging nlog

我正在尝试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

有什么想法吗?

2 个答案:

答案 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