GTX_AI 发表于 2020-8-1 08:11:51

C#在window服务配置Log4Net.dll

(1)App.config,则直接在其中添加内容:
<log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogError\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd".txt"" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
      </layout>      <!--< > = <> %n = 回车-->
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd".txt"" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p%n日志内容:%m%n%n" />
      </layout>
    </appender>
</log4net>(2)项目的 AssemblyInfo.cs 文件中注册Config文件,如下:
(3)日志类
public class LogHelper
    {
      private LogHelper()
      {

      }

      public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");

      public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");

      public static void SetConfig()
      {
            log4net.Config.XmlConfigurator.Configure();
      }

      public static void SetConfig(FileInfo configFile)
      {
            log4net.Config.XmlConfigurator.Configure(configFile);
      }

      public static void WriteLog(string info)
      {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
      }

      public static void WriteLog(string info, Exception se)
      {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
      }
    }(4)使用:
LogHelper. WriteLog("123");
LogHelper. WriteLog("123", ex);


参考:
【1】C#在window服务配置Log4Net.dll
【2】C# 使用/配置Log4Net





页: [1]
查看完整版本: C#在window服务配置Log4Net.dll