跳至主要內容
log4net 配置

log4net 配置

CS 程序

  1. 进入需要配置 log4net 的项目目录下,安装或引用 log4net

    • 右键-管理 NuGet 程序包,搜索 log4net 并安装;
    • 引用已下载的 log4net.dll 文件。
  2. 程序启动时读取 log4net 的配置文件,在 AssemblyInfo.cs 中加入 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)]

  3. 在原有的 app.config 上加入 log4net 的输出配置信息;

      <configuration>
      <!--log4net-->
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false"/>
      </configSections>
      <log4net>
        <root>
          <!--在控制台打印log-->
          <level value="ALL" />
          <appender-ref ref="ConsoleAppender" />
        </root>
        <logger name="debugLog">
          <level value="DEBUG"/>
          <appender-ref ref="DebugLogFileAppender" />
        </logger>
        <logger name="infoLog">
          <level value="INFO"/>
          <appender-ref ref="InfoLogFileAppender" />
        </logger>
        <logger name="warnLog">
          <level value="WARN"/>
          <appender-ref ref="WarnLogFileAppender" />
        </logger>
        <logger name="errorLog">
          <level value="ERROR"/>
          <appender-ref ref="ErrorFileAppender" />
        </logger>
        <appender name="DebugLogFileAppender" type="log4net.Appender.RollingFileAppender" >
          <Encoding value="UTF-8" />
          <param name="AppendToFile" value="true" />
          <param name="File" value="D:\\MSD_Logs\\Debug\\" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="RollingStyle" value="Date" />
          <param name="StaticLogFileName" value="false" />
          <!--生成如service-20181120.log这样的.log文件-->
          <param name="DatePattern" value="'service'-yyyyMMdd&quot;.log&quot;" />
          <!--防止更新代码时出现.log文件名重叠的情况如service-20181120.logservice-20181120.log-->
          <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d|`%-4p|`%m%n" />
          </layout>
        </appender>
        <appender name="InfoLogFileAppender" type="log4net.Appender.RollingFileAppender" >
          <Encoding value="UTF-8" />
          <param name="AppendToFile" value="true" />
          <param name="File" value="D:\\MSD_Logs\\Info\\" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="RollingStyle" value="Date" />
          <param name="StaticLogFileName" value="false" />
          <!--生成如service-20181120.log这样的.log文件-->
          <param name="DatePattern" value="'service'-yyyyMMdd&quot;.log&quot;" />
          <!--防止更新代码时出现.log文件名重叠的情况如service-20181120.logservice-20181120.log-->
          <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d|`%-4p|`%m%n" />
          </layout>
        </appender>
        <appender name="WarnLogFileAppender" type="log4net.Appender.RollingFileAppender" >
          <Encoding value="UTF-8" />
          <param name="AppendToFile" value="true" />
          <param name="File" value="D:\\MSD_Logs\\Warn\\" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="RollingStyle" value="Date" />
          <param name="StaticLogFileName" value="false" />
          <!--生成如service-20181120.log这样的.log文件-->
          <param name="DatePattern" value="'service'-yyyyMMdd&quot;.log&quot;" />
          <!--防止更新代码时出现.log文件名重叠的情况如service-20181120.logservice-20181120.log-->
          <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d|`%-4p|`%m%n" />
          </layout>
        </appender>
        <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender" >
          <Encoding value="UTF-8" />
          <param name="AppendToFile" value="true" />
          <param name="File" value="D:\\MSD_Logs\\Error\\" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="100" />
          <param name="RollingStyle" value="Date" />
          <param name="StaticLogFileName" value="false" />
          <!--生成如service-20181120.log这样的.log文件-->
          <param name="DatePattern" value="'service'-yyyyMMdd&quot;.log&quot;" />
          <!--防止更新代码时出现.log文件名重叠的情况如service-20181120.logservice-20181120.log-->
          <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d|`%-4p|`%m%n" />
          </layout>
        </appender>
        <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern"  value="%d|`%-4p|`%m%n" />
          </layout>
        </appender>
      </log4net>
    
      <system.web>
        <compilation targetFramework="4.5.2" />
        <httpRuntime targetFramework="4.5.2" />
      </system.web>
      <appSettings>
        <add key="serviceName" value="serviceAccess" />
        <add key="servicePwd" value="service@Adidas" />
      </appSettings>
    </configuration>
    
  4. 如需读取新的配置文件,可在程序的调用方法前加入 log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.xml"))强制读取新的配置文件。


...C#Log4netWebServiceWCF大约 5 分钟