log4net

新建工程

ConsoleApplication1


代码:


[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ConsoleApplication1.exe.config", Watch = false)]
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Application.Run(new MainForm());
            //创建日志记录组件实例
            ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            //记录错误日志
            log.Error("error", new Exception("发生了一个异常"));
            //记录严重错误
            log.Fatal("fatal", new Exception("发生了一个致命错误"));
            //记录一般信息
            log.Info("info");
            //记录调试信息
            log.Debug("debug");
            //记录警告信息
            log.Warn("warn");

            Console.Read();
        }
    }
}


新建 :应用程序配制文件(app.config)

内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
  </appSettings>
  <log4net>
    <!--定义输出到控制台命令行中-->
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>

    <!--按日志容量分割日志文件 10240KB一个-->
    <appender name="LogFileAppenderBySize" type="log4net.Appender.RollingFileAppender" >

      <!--是否续写-->
      <param name="AppendToFile" value="true" />
      <!--最小锁定模型以允许多个进程可以写入同一个文件-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

      <param name="StaticLogFileName" value="true" />

      <!--按照文件的大小进行变换日志文件-->
      <param name="RollingStyle" value="Size" />
      <param name="File" value="log.txt" />
      <!--单个文件最大数量 好像只有在 按Size分割时有效-->
      <param name="MaximumFileSize" value="5KB"/>
      <!--保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效-->
      <param name="MaxSizeRollBackups" value="500" />

      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n-----------------------------------------%n发生时间:  %d %n事件级别:  %level %n相关类名:  %c%n程序文件:  %F  行号:  %L%n日志内容:  %m%n附加信息:  " />
      </layout>
    </appender>
 
    <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
    <root>
      <!--控制台控制显示日志
      <appender-ref ref="ConsoleAppender" />-->
      <!--启用按容量分割-->
      <appender-ref ref="LogFileAppenderBySize" />
    </root>
    
  </log4net>
</configuration>







你可能感兴趣的:(exception,assembly,layout,encoding,log4net,newline)