多个程序使用同一个 log4net 配置

多个程序使用同一个 log4net 配置,

AssemblyInfo.cs文件加上:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

初始化log4net:

log4net.GlobalContext.Properties["program"] = "#your program name#";
log4net.Config.XmlConfigurator.Configure();

调用

protected static readonly ILog SystemLogger = LogManager.GetLogger("SystemLog");
protected static readonly ILog TransferLogger = LogManager.GetLogger("TransferLog");

 

配置文件 log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <!--log4net config-->
  <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value=".\Logs\" /> <!--日志路径-->     
      <rollingStyle value="Date" /><!--日志滚动模式-->
      <datePattern value="_yyyy-MM-dd&quot;.log&quot;" /> <!--日志文件名格式-->
      <staticLogFileName value="false" />  <!--日志文件名是否固定不变的-->
      <appendToFile value="true" />  <!--是否向文件中追加日志-->
      <maximumFileSize value="64MB" />  <!--日志文件最大大小-->
      <maxSizeRollBackups value="10" /> <!--日志保留天数-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date{HH:mm:ss,fff}][%-5level][%thread][%logger] - %message%newline" /><!--输出格式-->
      </layout>

    </appender>
    <appender name="SystemRollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value=".\Logs\%property{program}\system"/><!--日志路径-->
      <rollingStyle value="Date" /><!--日志滚动模式-->
      <datePattern value="_yyyy-MM-dd&quot;.log&quot;" /><!--日志文件名格式-->
      <staticLogFileName value="false" /> <!--日志文件名是否固定不变的-->
      <appendToFile value="true" /><!--是否向文件中追加日志-->
      <maximumFileSize value="64MB" /><!--日志文件最大大小-->
      <maxSizeRollBackups value="10" /><!--日志保留天数-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date{HH:mm:ss,fff}][%-5level][%M]- %message%newline" /><!--输出格式-->
      </layout>

      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="SystemLog" /><!--过滤器-->
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />


    </appender>

    <appender name="TransferRollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value=".\Logs\%property{program}\transfer"/><!--日志路径-->
      <rollingStyle value="Date" /><!--日志滚动模式-->
      <datePattern value="_yyyy-MM-dd&quot;.log&quot;" /><!--日志文件名格式-->
      <staticLogFileName value="false" /><!--日志文件名是否固定不变的-->
      <appendToFile value="true" /><!--是否向文件中追加日志-->
      <maximumFileSize value="64MB" /><!--日志文件最大大小-->
      <maxSizeRollBackups value="10" /><!--日志保留天数-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date{HH:mm:ss,fff}][%-5level][%M]- %message%newline" /><!--输出格式-->
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="TransferLog" /><!--过滤器-->
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />

    </appender>

    <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date] [%level] [%thread]  - %message%newline" />
      </layout>
    </appender>

    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="DEBUG" />
        <backColor value="Green" />
      </mapping>
      <mapping>
        <level value="INFO" />
        <backColor value="Yellow" />
      </mapping>
      <mapping>
        <level value="ERROR" />
        <foreColor value="White" />
        <backColor value="Red,HighIntensity" />
      </mapping>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date][%-5level][%thread][%logger]- %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Debug" />
        <param name="LevelMax" value="Fatal" />
      </filter>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="ColoredConsoleAppender" />
      <!-- <appender-ref ref="RollingFileAppender" /> -->
      <appender-ref ref="SystemRollingFileAppender" />
      <appender-ref ref="TransferRollingFileAppender" />
    </root>
  </log4net>
</configuration>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值