代码之家  ›  专栏  ›  技术社区  ›  ashlar64

.net 6 NLog将不同的命名空间记录到不同的日志文件中

  •  0
  • ashlar64  · 技术社区  · 1 年前

    我想使用以下命名空间记录所有事件:Microsoft。一个日志文件中的扩展名.*和其他日志文件中所有事件。

    我的nlog配置文件如下所示:

    <?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">
    
        <!-- Define targets -->
        <targets>
            <!-- Target for Microsoft.Extensions.* namespaces -->
            <target xsi:type="File" name="MicrosoftExtensionsLog" fileName="logs/MicrosoftExtensions.log"
                    layout="${longdate} ${uppercase:${level}} ${message}${exception:format=tostring}" />
    
            <!-- Target for other namespaces -->
            <target xsi:type="File" name="OtherLog" fileName="logs/Other.log"
                    layout="${longdate} ${uppercase:${level}} ${message}${exception:format=tostring}" />
        </targets>
    
        <!-- Define rules -->
        <rules>
            <!-- Log Microsoft.Extensions.* namespaces to MicrosoftExtensionsLog -->
            <logger name="Microsoft.Extensions.*" minlevel="Trace" writeTo="MicrosoftExtensionsLog" final="true" />
    
            <!-- Log everything else to OtherLog -->
            <logger name="*" minlevel="Trace" writeTo="OtherLog" />
        </rules>
    </nlog>
    

    有了上面的配置文件,Microsoft。扩展名.*日志仍在“OtherLog”文件中。这怎么能解决?

    0 回复  |  直到 1 年前