Log4Net的使用

1、log4net.config 文件(将该配置文件放置主程序)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
    </configSections>

    <!-- This section contains the log4net configuration settings -->
    <log4net>
        <!-- Define some output appenders -->
        <appender name="rollingFile" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="log\\" />  
                <param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />             
            <param name="AppendToFile" value="true" /> 
            <param name="RollingStyle" value="Date" /> 
            <!--<param name="DatePattern" value="yyyy.MM.dd" />-->
            <param name="DatePattern" value="yyyyMMdd'.log'"/> 
            <param name="StaticLogFileName" value="false" />
             <layout type="log4net.Layout.PatternLayout">  
                <param name="Header" value="----------------------Begin--------------------------" />
                    <param name="Footer" value="----------------------End---------------------------- 

" />
                <param name="ConversionPattern" value="%n%-5p %d %m%n" />    
                <!--<conversionPattern value="[%d]:%n%m%n"></conversionPattern>-->            
            </layout>

            <filter type="log4net.Filter.LevelRangeFilter"> 
                <param name="LevelMin" value="Info" /> 
                <param name="LevelMax" value="Fatal" /> 
            </filter> 

        </appender>


        <!-- Setup the root category, add the appenders and set the default priority -->
        <root>
            <level value="ALL" />
            <appender-ref ref="rollingFile" />
        </root>
    </log4net>
</configuration>

  

2、添加LogHepler.cs类

 public class LogHelper
    {
        private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

        public static void Debug(Exception ex)
        {
            Log.Debug(ex.Message, ex);
        }

        public static void Info(Exception ex)
        {
            Log.Info(ex.Message, ex);
        }

        public static void Warn(Exception ex)
        {
            Log.Warn(ex.Message, ex);
        }

        public static void Error(Exception ex)
        {
            Log.Error(ex.Message, ex);
        }

        public static void Fatal(Exception ex)
        {
            Log.Fatal(ex.Message, ex);
        }

        public static void Info(object message)
        {
            Log.Info(message);
        } 
    }
View Code

3、在LogHelper类所在的项目中的AssemblyInfo.cs中添加下面的代码

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

 

注:如果使用过程中有问题,可以通过下面代码查看log4net配置是否存在问题。(http://logging.apache.org/log4net/release/faq.html#troubleshooting)

       if (!log4net.LogManager.GetRepository().Configured)
              { 
                  foreach (log4net.Util.LogLog message in log4net.LogManager.GetRepository().ConfigurationMessages)
                  {
                      Console.WriteLine(message); 
                  }
              }

 

posted @ 2017-11-14 19:47  Eric-Lau  阅读(135)  评论(0)    收藏  举报