Log 4 Net学習ノート(1)-完全な例

10042 ワード

一、開発環境


コンパイラ:VS 2013
.Netバージョン:4.5

二、開発プロセス


1.nugetからlog 4 netを取得する


2.log 4 netのプロファイルの設定

  1 <?xml version="1.0" encoding="utf-8" ?>
  2 <configuration>
  3   
  4   <configSections>
  5     <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  6   </configSections>
  7 
  8   <log4net debug="false">
  9     <root>
 10       <level value="ALL"/>
 11       <appender-ref ref="UserLogAppender"/>
 12       <appender-ref ref="SystemLogAppender"/>
 13     </root>
 14     <!-- -->
 15     <appender name="UserLogAppender" type="log4net.Appender.RollingFileAppender,log4net">
 16       <!-- -->
 17       <file value="./Log/"/>
 18       <!-- :20151113_user.log-->
 19       <param name="DatePattern" value="yyyyMMdd&quot;_user.log&quot;"/>
 20       <!-- -->
 21       <param name="AppendToFile" value="true"/>
 22       <!--log -->
 23       <param name="MaxSizeRollBackups" value="10"/>
 24       <!--log -->
 25       <param name="MaximumFileSize" value="5MB"/>
 26       <!-- -->
 27       <param name="StaticLogFileName" value="false"/>
 28       <!-- XX -->
 29       <param name="RollingStyle" value="Composite"/>
 30       <!-- -->
 31       <layout type="log4net.Layout.PatternLayout,log4net">
 32         <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
 33         <param name="Header" value=""/>
 34       </layout>
 35       <filter type="log4net.Filter.LevelRangeFilter">
 36         <param name="LevelMin" value="INFO"/>
 37         <param name="LevelMax" value="INFO"/>
 38       </filter>
 39     </appender>
 40     <!-- , , , -->
 41     <appender name="SystemLogAppender" type="log4net.Appender.RollingFileAppender,log4net">
 42       <file value="./Log/"/>
 43       <param name="File" value="Log\log_sys.log" />
 44       <param name="DatePattern" value="yyyyMMdd&quot;_sys.log&quot;"/>
 45       <param name="AppendToFile" value="true"/>
 46       <param name="RollingStyle" value="Composite"/>
 47       <param name="MaxSizeRollBackups" value="10"/>
 48       <param name="MaximumFileSize" value="5MB"/>
 49       <param name="StaticLogFileName" value="false"/>
 50       <layout type="log4net.Layout.PatternLayout,log4net">
 51         <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n"/>
 52         <param name="Header" value=""/>
 53       </layout>
 54       <filter type="log4net.Filter.LevelRangeFilter">
 55         <param name="LevelMin" value="ERROR"/>
 56         <param name="LevelMax" value="ErrOR"/>
 57       </filter>
 58     </appender>
 59   </log4net>
 60 
 61 </configuration>

3.AssembInfo.csに情報を追加

[assembly :log4net.Config.XmlConfigurator(Watch = true)]

4.コンソールプログラム

namespace Demo.Log4Net
{
    class Program
    {
        static void Main(string[] args)
        {
            ILog log = LogManager.GetLogger(typeof(LogHelper));
            log.Info("info");
            log.Error("error");

            Console.ReadKey();
        }
    }
}