log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括 MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。并且我们还可以记载控制要记载的日志级别,可以记载的日志类别包括:FATAL(致命错 误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。要想获取最新版本的log4net组件库,可以到官方 网站http://logging.apache.org/log4net/下载。现在的最新版本是1.2.11。
log4net示例步骤:
1.添加log4net.dll引用
2.配置log4net文件
文件名的命名规则(WinForm对应的是*.exe.config,WebForm对应的是*.config);配置文件内容如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <configSections>
- <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
- </configSections>
- <!-- This section contains the log4net configuration settings -->
- <log4net>
- <!-- Define some output appenders -->
- <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
- <param name="File" value="Log/log.txt" />
- <param name="AppendToFile" value="true" />
- <param name="RollingStyle" value="Date" />
- <param name="DatePattern" value="yyyy.MM.dd" />
- <param name="StaticLogFileName" value="true" />
- <layout type="log4net.Layout.PatternLayout" >
- <!--每条日志末尾的文字说明-->
- <!--<footer value="by XMGPS" />-->
- <!--
- %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
- %n(new line):换行
- %d(datetime):输出当前语句运行的时刻
- %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
- %t(thread id):当前语句所在的线程ID
- %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
- %c(class):当前日志对象的名称,例如:
- %f(file):输出语句所在的文件名。
- %l(line):输出语句所在的行号。
- %数字:表示该项的最小长度,如果不够,则用空格填充,如“%-5level”表示level的最小宽度是5个字符,如果实际长度不够5个字符则以空格填充。
- -->
- <param name="ConversionPattern" value="datetime:%d thread id:[%t] line:%l class:%c - %m%n" />
- </layout>
- </appender>
- <!-- Setup the root category, add the appenders and set the default priority -->
- <root>
- <level value="ALL" />
- <!--文件形式记录日志-->
- <appender-ref ref="LogFileAppender" />
- </root>
- </log4net>
- </configuration>
注意:将配置好的文件放置到您的可执行目录下;eg:
3.编写代码:
附件:http://down.51cto.com/data/2362692
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Reflection;
- using log4net;
- //注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息
- //如果是WinForm(假定程序为Log4netDemo.exe,则需要一个Log4netDemo.exe.config文件);
- //将Log4netDemo.exe.config文件拷贝到可执行文件目录下;
- //[assembly: log4net.Config.XmlConfigurator(Watch = true)](在需要使用log4net的类的namespace处),如果没有这句就会在调试时得到如下留言中所说的“程序调试起来时isDebugEnable"的情况
- //如果你嫌麻烦,只需要在包含Main()的类中加[assembly: log4net.Config.XmlConfigurator(Watch = true)]
- [assembly: log4net.Config.XmlConfigurator(Watch = true)]
- namespace Log4netDemo
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void bttnCreateLog_Click(object sender, EventArgs e)
- {
- //创建日志记录组件实例
- ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- switch (comStyle.Text)
- {
- case "致命错误":
- log.Fatal("Fatal", new Exception(txtMessage.Text));
- break;
- case "一般错误":
- log.Error("Error", new Exception(txtMessage.Text));
- break;
- case "警告信息":
- log.Warn("Warn", new Exception(txtMessage.Text));
- break;
- case "一般信息":
- log.Info("Info", new Exception(txtMessage.Text));
- break;
- case "调试信息":
- log.Debug("Debug", new Exception(txtMessage.Text));
- break;
- default:
- break;
- }
- MessageBox.Show("测试成功!");
- }
- private void comStyle_SelectedIndexChanged(object sender, EventArgs e)
- {
- switch (comStyle.Text)
- {
- case "致命错误":
- txtMessage.Text = "致命错误!";
- break;
- case "一般错误":
- txtMessage.Text="一般错误!";
- break;
- case "警告信息":
- txtMessage.Text="警告信息!";
- break;
- case "一般信息":
- txtMessage.Text="一般信息!";
- break;
- case "调试信息":
- txtMessage.Text="调试信息!";
- break;
- default:
- break;
- }
- }
- }
- }
如需要请参考上传的附件
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
本文名称:演示如何利用log4net记录程序日志信息-创新互联
分享路径:https://www.cdcxhl.com/article40/dphcho.html
成都网站建设公司_创新互联,为您提供品牌网站设计、App设计、微信小程序、面包屑导航、企业建站、品牌网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联