log4net 简易使用说明

2016-12-20  本文已影响0人  norman1981
  1. 新建工程
  2. 用nuget安装log4net包
  3. 在assemblyinfo.cs文件里添加如下内容:
[assembly: log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config", Watch=true)]
  1. 工程中创建一个文件名为log4net.config的xml文件,具体内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net debug="true">
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="applicationLog.log" /><!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)-->
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <!--备份log文件的个数最多10个-->
            <maximumFileSize value="2MB" />
            <!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout"> <!--指定log的格式-->
                <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />
            </layout>
        </appender>
        <root>
            <level value="DEBUG" /><!--指定将此级别及以上的log打印到log文件中-->
            <appender-ref ref="RollingLogFileAppender" />
        </root>
    </log4net>
</configuration>

注意:根据第4步的配置,应该把log4net的配置文件放到项目的bin/Debug 或者 bin/Release目录下,否则会出现找不到配置文件而无法创建logger对象。

  1. 在自己的类中创建log实例变量:
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1. 添加测试代码,例如:
log.Debug("Test Debug info");
log.Info("Test Info info");
  1. 运行程序后查看log文件是否正确
    注意:如果配置输出log文件不带路径,则log文件和执行文件在一个路径下。
    因为log4net.config文件和执行文件不在一个地方,每次修改log4net.config后记得手工复制到执行目录,否则没有修改后的效果。

  2. 实际使用时,可以修改log4net.config的文件属性中的“复制到输出目录项目”为“始终复制”,这种修改log4net.config后重新生成项目就会自动更新。

上一篇下一篇

猜你喜欢

热点阅读