首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个附录的Log4Net类日志级别-参考

每个附录的Log4Net类日志级别-参考
EN

Stack Overflow用户
提问于 2016-02-26 07:39:56
回答 1查看 873关注 0票数 0

我试图使用Log4Net将一个性能记录器分离成一个单独的日志.

我安装了我的新附件

代码语言:javascript
复制
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="C:\Logs\ServiceLayer.log" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <datePattern value="_yyyy.MM.dd.lo\g" />
    <maximumFileSize value="5MB" />
    <maxSizeRollBackups value="10" />
    <PreserveLogFileNameExtension value="true" />
    <layout type="log4net.Layout.PatternLayout">
        <!-- <conversionPattern value="%level %thread %logger - %message%newline" /> -->
        <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff} %5level [%thread][%property{bms.log.username}::%property{bms.log.businessRequest}(%property{bms.log.activityLogID})]  - %message%newline" />
    </layout>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
<appender name="PerfFile" type="log4net.Appender.RollingFileAppender">
    <file value="C:\Logs\Perf.log" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <datePattern value="_yyyy.MM.dd-HH-mm.lo\g" />
    <maximumFileSize value="5MB" />
    <maxSizeRollBackups value="24" />
    <PreserveLogFileNameExtension value="false" />
    <layout type="log4net.Layout.PatternLayout">
        <!-- <conversionPattern value="%level %thread %logger - %message%newline" /> -->
        <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff} %5level [%thread][%property{bms.log.username}::%property{bms.log.businessRequest}(%property{bms.log.activityLogID})]  - %message%newline" />
    </layout>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>

perf附录是我添加的新附录..。

我还设置了一个BufferForwardingAppender

代码语言:javascript
复制
<appender name="BMSDefaultAppender" type="log4net.Appender.BufferingForwardingAppender">
<bufferSize value="128" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN" />
</evaluator>
<appender-ref ref="RollingFile" />

从那里我奠定了我的根

代码语言:javascript
复制
<root>
  <level value="ERROR" />
  <appender-ref ref="BMSDefaultAppender" />
</root>

一旦我有了这个设置,我会得到错误记录到我的滚动日志文件,但是我想要捕获一些信息级别的数据到我的perf文件.

代码语言:javascript
复制
<logger name="BMS.LTD.Activity.Workflow" additivity="false">
    <level value="INFO" />
    <appender-ref ref="PerfFile" />
</logger>
<logger name="BMS.LTD.Activity.Workflow.Rules" additivity="false">
    <level value="WARN" />
    <appender-ref ref="PerfFile" />
</logger>
<logger name="BMS.LTD.Persistence.DataSourceDataProviders" additivity="false">
    <level value="INFO" />
    <appender-ref ref="PerfFile" />
</logger>
<logger name="BMS.LTD.Persistence.DataSourceDataProviders.DataSourceDataCache" additivity="false">
    <level value="WARN" />
    <appender-ref ref="PerfFile" />
</logger>

现在我在Perf日志中获得了我的信息和警告,但我也在那里得到了我的错误,我的主日志中的错误和我的perf日志中的信息级别有可能得到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-26 14:36:44

若要控制每个文件中的日志事件,请将LevelRangeFilters添加到追加程序中:

代码语言:javascript
复制
<!-- log error and above - add to the RollingFile appender config -->
<filter type="log4net.Filter.LevelRangeFilter">
  <levelMin value="ERROR"/>
  <levelMax value="FATAL"/>
</filter>

代码语言:javascript
复制
<!-- log INFO and below - add to the PerfFile appender config -->
<filter type="log4net.Filter.LevelRangeFilter">
  <levelMin value="DEBUG"/>
  <levelMax value="INFO"/>
</filter>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35646100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档