C# 配置log4net以允许存储每个dll的日志
我想配置log4net有多个文件,每个文件存储每个dll 我如何配置它C# 配置log4net以允许存储每个dll的日志,c#,log4net,C#,Log4net,我想配置log4net有多个文件,每个文件存储每个dll 我如何配置它 <log4net> <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs/mylog.log"/> <appendToFile value="true"/> <rollingStyle value="Size"/> &l
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/mylog.log"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff},[%thread],%-5level,%logger,[%ndc],%message%newline"/>
</layout>
</appender>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR"/>
<foreColor value="Red"/>
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff} [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="FileAppender"/>
<appender-ref ref="ColoredConsoleAppender"/>
</root>
</log4net>
假设我有3个dll,Test.Scan.dll、Test.Warn.dll和Test.Processor.dll。我应该配置为dll名称还是名称空间
我知道在“appender”级别中有“filter”。但是我应该怎么做呢?如果您使用标准的记录器命名约定,就不需要使用过滤器:记录器的名称。只需添加以要使用的公共根命名的记录器,并在这些记录器中设置不同的附加器
<appender name="FileAppender.Test.Scan" type="log4net.Appender.RollingFileAppender">
...
</appender>
<appender name="FileAppender.Test.Warn" type="log4net.Appender.RollingFileAppender">
...
</appender>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
...
</appender>
<!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="DEBUG" />
<appender-ref ref="ColoredConsoleAppender" />
</root>
<logger name="Test.Scan">
<level value="INFO" />
<appender-ref ref="FileAppender.Test.Scan" />
</logger>
<logger name="Test.Warn">
<level value="INFO" />
<appender-ref ref="FileAppender.Test.Warn" />
</logger>
...
...
...
名称以Test.Warn开头的记录器将选择配置节点appender。当然,如果您有一个名为“Test”的记录器,它的配置将应用于名称以“Test”开头的所有记录器