log4net快速使用流程

前端之家收集整理的这篇文章主要介绍了log4net快速使用流程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

以下内容大部分来自这里,对原作者流子表示感谢

1、Nuget安装,当前版本2.0.8

2、创建log4net.config文件文件内容如下:

分享图片

<?xml version="1.0" encoding="utf-8" ?>
<@H_502_29@configuration>
  <@H_502_29@configSections>
<@H_502_29@section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </@H_502_29@configSections>
  <@H_502_29@log4net debug="true">
    <@H_502_29@root>
      <@H_502_29@level value="DEBUG" />
      <@H_502_29@appender-ref ref="RollingLogFileAppender" />
      <@H_502_29@appender-ref ref="ConsoleAppender" />
    </@H_502_29@root>
    <@H_502_29@appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <@H_502_29@layout type="log4net.Layout.PatternLayout">
       <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
      </@H_502_29@layout>
    </@H_502_29@appender>
    <@H_502_29@appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <@H_502_29@param name="File" value="game" />
      <@H_502_29@param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
      <@H_502_29@param name="AppendToFile" value="true" />
      <@H_502_29@layout type="log4net.Layout.PatternLayout">
      <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
      </@H_502_29@layout>
    </@H_502_29@appender>
  </@H_502_29@log4net>
</@H_502_29@configuration>
View Code

注意:要在文件属性中将“复制到输出目录”选项设置为“如果较新则复制”

3、在文件AssemblyInfo.cs中加上

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

4、代码用法

using log4net;
private static readonly ILog logger = LogManager.GetLogger(typeof(GameClient));  
Thread.CurrentThread.Name = @H_502_29@"@H_502_29@main@H_502_29@";//为了将主线程名与其他线程区别开
//初始化log4net
log4net.Config.XmlConfigurator.Configure();
logger.Debug(@H_502_29@"@H_502_29@初始化连接开始@H_502_29@");
logger.InfoFormat(@H_502_29@"@H_502_29@测试日志 name={0}@H_502_29@",@H_502_29@"@H_502_29@client@H_502_29@");

5、输出结果:

[2017-08-11 20:18:19,350] DEBUG [main][GameClient:24] - 初始化连接开始
[2017-08-11 20:18:19,363] DEBUG [main][GameClient:28] - 初始化连接完毕
[2017-08-11 20:18:19,364] INFO [main][SuperSocketDemo:35] - 测试日志 name=client

 UPDAT:

不知道为什么代码不能编辑了,只能暂时放在下面。

如果需要通过DebugView这类的工具查看Trace信息,配置内容如下:

分享图片

<?xml version="1.0" encoding="utf-8" ?>
<@H_502_29@configuration>
  <@H_502_29@configSections>
    <@H_502_29@section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </@H_502_29@configSections>
  <@H_502_29@log4net debug="true">
    <@H_502_29@root>
      <@H_502_29@level value="DEBUG" />
      <@H_502_29@appender-ref ref="RollingLogFileAppender" />
      <@H_502_29@appender-ref ref="ConsoleAppender" />
      <@H_502_29@appender-ref ref="TraceAppender" />
    </@H_502_29@root>
    <@H_502_29@appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <@H_502_29@param name="File" value="LoadOrderInterface.log" />
      <@H_502_29@param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
      <@H_502_29@param name="AppendToFile" value="true" />
      <@H_502_29@layout type="log4net.Layout.PatternLayout">
        <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
      </@H_502_29@layout>
    </@H_502_29@appender>
    <@H_502_29@appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <@H_502_29@layout type="log4net.Layout.PatternLayout">
        <@H_502_29@conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
      </@H_502_29@layout>
    </@H_502_29@appender>
    <@H_502_29@appender name="TraceAppender" type="log4net.Appender.TraceAppender">
      <@H_502_29@layout type="log4net.Layout.PatternLayout">
        <@H_502_29@conversionPattern value="%date %level [%thread] %logger [%property{NDC}] - %message%newline" />
      </@H_502_29@layout>
    </@H_502_29@appender>
  </@H_502_29@log4net>
</@H_502_29@configuration>
View Code

猜你在找的XML相关文章