Winform Log4Net实战:实现每天一个文件记录服务程序的执行情况。
来源:互联网 发布:淘宝猎狐者户外冲锋衣 编辑:程序博客网 时间:2024/05/01 12:19
看来周公的Log4Net介绍,深有感触,当项目发布之后遇到一些问题,无法定位无法调试解决起来困难很大。下面我在项目中的服务程序使用Log4Net的日志记录功能:
1. 下载Log4Net源码
2. 在项目中加入引用。
3.配置Config文件
<?xml version="1.0" encoding="utf-8" ?><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" type="" value="D:/logs/" /> <!--最小锁定模型以允许多个进程可以写入同一个文件--> <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" /> <param name="StaticLogFileName" value="true" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <param name="DatePattern" value="yyyyMMdd.'log'" /> <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="----------------------header--------------------------" /> <param name="Footer" value="----------------------footer--------------------------" /> </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></configuration>
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=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</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" />
<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=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
就可以生成log文件夹,并在下面写日期文件名开头的vlog。
LogHelper
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;
using System.Reflection;
//需要加上:负责log4net无法工作
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace DataImportService
{
class LogHelper
{
/// <summary>
/// 输出日志内容
/// log.Debug("debug");
/// log.Info("info");
/// log.Warn("warn");
/// log.Error("error");
/// </summary>
/// <param name="message"></param>
/// <param name="methods"></param>
public void WriteLog(string message)
{
ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Info(message);
}
}
}
- Winform Log4Net实战:实现每天一个文件记录服务程序的执行情况。
- winform程序利用Log4net记录日志
- log4net在windows服务程序的应用
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- android日志服务,将日志记录在log文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- [每天一个demo]用c#实现简单的上传文件程序
- 贴一下Log4cplus每天记录一个日志文件的配置。
- log4net一天一个文件的配置方法
- winform 配置log4net,做个记录
- 实现购物的SERVLET程序的实战记录
- Log4Net的使用之winform
- 如何在一个工程里面实现不同的功能打入不同的日志文件中【log4net】
- log4net使用笔记(winform程序)
- log4net 使用access记录日志 log4net实例 log4net示例 log4net实战
- 封装:Log4net记录日志文件
- bug之谈
- 图:比赛打分展示双屏管理软件系统的V2.0版本终于收工.
- Log4Net使用详解(2)
- c++关于calloc、memcpy、strncpy的陷阱
- 母函数练习2 HDU 1085
- Winform Log4Net实战:实现每天一个文件记录服务程序的执行情况。
- 感知计算:开发人员的十大资源
- rss TIOBE Programming Community Index for June 2013
- cocos2d-x的初步学习十七之坦克大战四
- 维斯(Vizrt)系统学习资源列表(持续更新)
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- 配置FCKeditor_2.6.3+fckeditor-java-2.4
- nyoj499 + 迷宫 + dfs
- POJ 1088:滑雪