winform用log4net.dll输出日志txt

http://logging.apache.org/log4net/

东西是网上找来的细微处自己改了下,亲测了,好用。

1.在WindowsApplication项目新增“应用程序配置文件”.

2.将一下内容Copy至“configuration”节点中

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="rollingFile" />
    </root>
    <appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="log.txt" />
      <param name="AppendToFile" value="false" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyy.MM.dd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
      </layout>
    </appender>
    <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
    <logger name="WindowsApplication1.Form1">
      <level value="DEBUG" />
      <appender-ref  ref="rollingFile" />
      <appender-ref ref="coloredConsoleApp" />
      <appender-ref ref="SystemEvent" />
    </logger>
  </log4net>
3.在AssemblyInfo.cs文件中添加一下代码

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
4.在Form1测试事件代码

log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());
log.Debug("debug");
log.Info("info");
log.Warn("warn");
log.Error("error");
MessageBox.Show("生成日志成功!");
5.差点忘了,添加对log4net.dll的引用。

6.运行程序,触发测试事件代码。在项目文件下bin\Debug目录下有个log.txt就是生成的日志文件,中间有记录的测试信息。

7。结束。(有空再来补充各项设置意义^_^,现在自己也不会)

这个只是在bin文件生成一个Log.txt文件。需要扩展的是 要在bin文件下生成一个log文件夹,然后再里面按照日期来生产log文件。(待续)

替换了这个部分<appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" type="" value="log/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd'log.txt'" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
      </layout>
    </appender>

就可以生成log文件夹,并在下面写日期文件名开头的log。

    <!-- 日志输出格式化:
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,例如:
       模式字符串为:%-10c -%m%n
       代码为:
ILog log=LogManager.GetLogger(“Exam.Log”);
log.Debug(“Hello”);
    则输出为下面的形式:
Exam.Log       - Hello
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
 -->

调用

类名及空间名 需符合  <logger name="WindowsApplication1.Form1"> name中的空间名和类名

log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());
            log.Debug("debug");
            log.Info("info");
            log.Warn("warn");
            log.Error("error");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值