提问人:BennoDual 提问时间:10/11/2023 最后编辑:Mark SchultheissBennoDual 更新时间:10/11/2023 访问量:31
特定类型应将消息写入单独的日志文件中
a specific type should write messages in a separate logfile
问:
我对 log4net 使用以下配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\WebPortal.API.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<threshold value="ALL" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger{2} - %message%newline" />
</layout>
</appender>
</log4net>
</configuration>
我现在可以得到一个这样的记录器并使用它:
static readonly ILog log = LogManager.GetLogger(typeof(OperationsPlanningService));
现在,我想在单独的日志文件中写入一种特定类型的日志记录。当我使用这样的记录器创建记录器时:typeof(ExceptionHandlingMiddleware)
static readonly ILog log = LogManager.GetLogger(typeof(ExceptionHandlingMiddleware));
来自此记录器的消息应写入 logs\WebPortal.ExceptionHandlingMiddleware.log
log4net 可以做到这一点吗?
答:
1赞
Klaus Gütter
10/11/2023
#1
您可以为特定记录器添加特定配置,就像在 XML 中为根记录器添加特定配置一样,例如:
<logger name="MyLoggerName">
<level value="WARN" />
<appender-ref ref="MyAppender" />
</logger>
MyLoggerName 可以是完整的记录器名称,也可以只是命名空间,甚至是命名空间的一部分(log4net 记录器形成层次结构)。
评论