log4net使用说明
来源:互联网 发布:破解软件盒子下载 编辑:程序博客网 时间:2024/05/20 19:33
先附上实现代码:http://download.csdn.net/detail/sinat_22013331/9570632
log4net的使用过程说明:
我理解的log4net的使用可以简单的概括为:引用dll文件 -- 配置log4net.config -- 加载配置文件 -- 定义LogHelper类 -- 使用LogHelper
step 1:对项目添加引用log4net.dll
下载一个log4net包,将log4net.dll文件拷贝到项目的根目录下,并在项目中添加该文件的引用
step 2:在项目config文件中添加配置信息
在项目的config配置文件中添加下面的配置信息,这个config文件可以是web.config,也可能是app.config,或者是其他类的项目的全局配置文件
<?xml version="1.0"?><configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> </configuration>
step 3:定义log4net.config配置文件
在log4net配置文件中,定义输出格式和输出形式。比如下面的例子:
<?xml version="1.0"?><configuration> <log4net> <!--定义输出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy-MM-dd'.txt'"/> <staticLogFileName value="false"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <!--输出格式--> <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/> </layout> </appender> <root> <level value="ERROR"/> <!--文件形式记录日志--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
这个例子中,只定义了一种输出形式,就是以文本文件的形式输出。还可以用其他形式输出,这就需要别的配置文件了。
step 4:在项目主入口配置log4net.config文件
这里的配置分为三步,首先是找到log4net的路径,其次是获取这个文件,第三步就是configurator加载配置信息
// string filePath = Server.MapPath("~/log4net.config"); string filePath = "log4net.config"; FileInfo fileInfo = new FileInfo(filePath); XmlConfigurator.ConfigureAndWatch(fileInfo);在web项目中可以使用server.MapPath获取文件的虚拟路径。而我这里只是做一个测试,所以直接把log4net放在文件根目录的debug文件夹下,使之能够被找到。
然后用FileInfo获取文件信息,用XmlConfigurator来配置文件。
step 5:定义一个LogHelper类,封装需要做的操作
在这个类的前面,要加上读取配置信息的操作,[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
需要注意的是这条语句要放在命名空间前面。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]namespace Log4netTest{ class LogHelper { #region 记录exception public static void WriteLog(Type t, Exception e) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error("Error",e); } #endregion #region 记录某条message public static void WriteLog(Type t, string msg) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error(msg); } #endregion }}
这样就完成了基本配置方案,最后只需要在程序中有需要的地方调用LogHelper即可
step 6:调用LogHelper,实现日志记录
//记录某条string LogHelper.WriteLog(typeof(Program), "测试是否实现了日志功能"); int[] a = new int[2]; try { for (int i = 0; i < 5; i++) { a[i] = i; } } catch (Exception e) { //记录某个exception LogHelper.WriteLog(typeof(Program), e); }
如下图,已经实现了错误日志记录的功能。具体的实现请下载实现代码来解读,链接在文首。
详细的错误信息如下:
- log4net使用说明
- log4net配置使用说明
- c# 开发log4net使用说明
- log4net配置使用说明
- log4net配置使用说明
- Log4Net
- log4net
- Log4net
- Log4net
- log4net
- Log4net
- log4net
- log4net
- Log4net
- log4net
- log4net
- Log4NET
- log4net
- 同义词挖掘
- IntelliJ IDEA SSM(Spring + Spring MVC + Mybatis)框架+shiro引入jquery easy-ui的正确方式
- 原生SQL查询解析支持
- IOS实用图片无限轮播 点击图片进行跳转
- MySQL 去除字段中的换行和回车符
- log4net使用说明
- 【Netty4.x】Netty TCP粘包/拆包问题的解决办法(二)
- IP地址和子网掩码的关系
- nginx随记1
- pod计算资源管理
- 画图板
- Java知识点集锦
- 1try
- Mobile Service_纪中1327_dp