log4net配置及使用.docx

上传人:b****8 文档编号:29986729 上传时间:2023-08-04 格式:DOCX 页数:33 大小:26.13KB
下载 相关 举报
log4net配置及使用.docx_第1页
第1页 / 共33页
log4net配置及使用.docx_第2页
第2页 / 共33页
log4net配置及使用.docx_第3页
第3页 / 共33页
log4net配置及使用.docx_第4页
第4页 / 共33页
log4net配置及使用.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

log4net配置及使用.docx

《log4net配置及使用.docx》由会员分享,可在线阅读,更多相关《log4net配置及使用.docx(33页珍藏版)》请在冰豆网上搜索。

log4net配置及使用.docx

log4net配置及使用

第一步:

在项目引用log4net.dll文件

第二步:

     在Web.config文件中加入一句代码,位置如下:

   

     

   

第三步:

     建立一个单独的配置文件,文件名为:

log4net.config

     (这个配置文件会在App_Data目录下按日期每天产生一个日志文件,如:

Logs_20090703.txt)

log4net.config配置文件内容:

xmlversion="1.0"encoding="utf-8"?

>

--OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL-->

--SetrootloggerleveltoERRORanditsappenders-->

--PrintonlymessagesoflevelDEBUGoraboveinthepackages-->

--切割最多文件数-->

--每个文件的大小-->

第四步:

(这步很关键)(应该建立web项目而不是网站)

在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下

加入的代码如下:

//日志组件配置

[assembly:

log4net.Config.DOMConfigurator(ConfigFile="log4net.config",Watch=true)]

第五步:

开始使用log4net的.cs代码

usinglog4net;

usingSystem.Configuration;

objecto=ConfigurationSettings.GetConfig("log4net");

log4net.Config.DOMConfigurator.Configure(oasSystem.Xml.XmlElement);(此处的代码已过时)

log4net.ILoglogger=log4net.LogManager.GetLogger("WebLogger");

logger.Debug("调试");

logger.Error("这是一个错误日志");

logger.Fatal("这是一个致命的错误日志");

logger.Warn("这是一条警告日志");

logger.Info("这是一条普通信息");

 

ILoglog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

//记录错误日志

log.Error("error",newException("发生了一个异常"));

//记录严重错误

log.Fatal("fatal",newException("发生了一个致命错误"));

//记录一般信息

log.Info("info");

//记录调试信息

log.Debug("debug");

//记录警告信息

log.Warn("warn");

Console.WriteLine("日志记录完毕。

");

Console.Read();

 

第二部分详细说明:

涉及多种输出途径

下面的例子展示了如何利用log4net记录日志。

首先从官方网站下载最近版本的log4net组件,现在的最新版本是1.2.10。

在程序中我们只需要log4net.dll文件就行了,添加对log4net.dll的引用,就可以在程序中使用了。

接着我们配置相关的配置文件(WinForm对应的是*.exe.config,WebForm对应的是*.config),本实例中是控制台应用程序,配置如下(附各配置的说明):

xmlversion="1.0"encoding="utf-8"?

>

--定义输出到文件中-->

--定义文件存放位置-->

log4netfile.txt"/>

mm:

ss"/>

--每条日志末尾的文字说明-->

--输出格式-->

--样例:

2008-03-2613:

42:

32,111[10]INFOLog4NetDemo.MainClass[(null)]-info-->

%date线程ID:

[%thread]日志级别:

%-5level出错类:

%loggerproperty:

[%property{NDC}]-错误描述:

%message%newline"/>

--定义输出到控制台命令行中-->

--定义输出到windows事件中-->

--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb-->

log4net.mdb"/>

--定义各个参数-->

--定义日志的输出媒介,下面定义日志以四种方式输出。

也可以下面的按照一种类型或其他类型输出。

-->

--文件形式记录日志-->

--控制台控制显示日志-->

--Windows事件日志-->

--如果不启用相应的日志记录,可以通过这种方式注释掉

-->

程序文件:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Reflection;

usinglog4net;

//注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息

//如果是WinForm(假定程序为MyDemo.exe,则需要一个MyDemo.exe.config文件)

//如果是WebForm,则从web.config中读取相关信息

[assembly:

log4net.Config.XmlConfigurator(Watch=true)]

namespaceLog4NetDemo

{

///

///说明:

本程序演示如何利用log4net记录程序日志信息。

log4net是一个功能著名的开源日志记录组件。

///利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库中(包括MSSQLServer,Access,Oracle9i,Oracle8i,DB2,SQLite)。

///下面的例子展示了如何利用log4net记录日志

///作者:

周公

///时间:

2008-3-26

///首发地址:

///

publicclassMainClass

{

publicstaticvoidMain(string[]args)

{

//Application.Run(newMainForm());

//创建日志记录组件实例

ILoglog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

//记录错误日志

log.Error("error",newException("发生了一个异常"));

//记录严重错误

log.Fatal("fatal",newException("发生了一个致命错误"));

//记录一般信息

log.Info("info");

//记录调试信息

log.Debug("debug");

//记录警告信息

log.Warn("warn");

Console.WriteLine("日志记录完毕。

");

Console.Read();

}

}

}

详细配置说明

说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:

首先说明一点的是,log4net解决的问题是提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MSSQLServer,Access,Oracle9i,Oracle8i,DB2,SQLite)中,一般来说我们只需要提供一个描述性的字符串,然后log4net就会自动提供有关运行时的一些信息。

Log4Net的版本仍是1.2.10(2008年我写博文的时候也是这个版本),有.NET1.0和.NET1.1和.NET2.0版本,如果有正在使用高于.NET2.0开发的也不用担心,可以直接引用这个类库,像在.NET2.0中开发一样,它的网址是:

http:

//logging.apache.org/log4net/

关于在Web中支持的问题

在我们开发项目时都会使用到config文件,可以在config文件中配置log4net。

这一点Web项目和WinForm项目都是一样的。

需要注意的是,因为在Web项目中一般以较低权限的角色来运行Web项目的,所以在使用文件型日志时要注意不要放在本项目根文件夹之外。

在config文件中的配置

要使用log4net,首先要在config文件的节点中增加配置(如果没有这个节点请手动增加),如下:

viewplaincopytoclipboardprint?

除此之外,还要在顶级节点下增加子节点。

节点下就可以增加子节点,每个子节点代表一种记录日志的方式(仅在这里配置了不代表启用了)。

具体说来有如下Appender:

AdoNetAppender:

利用ADO.NET记录到数据库的日志。

AnsiColorTerminalAppender:

在ANSI窗口终端写下高亮度的日志事件。

AspNetTraceAppender:

能用中Trace的方式查看记录的日志。

BufferingForwardingAppender:

在输出到子Appenders之前先缓存日志事件。

ConsoleAppender:

将日志输出到控制台。

EventLogAppender:

将日志写到WindowsEventLog.

FileAppender:

将日志写到文件中。

LocalSyslogAppender:

将日志写到localsyslogservice(仅用于UNIX环境下).

MemoryAppender:

将日志存到内存缓冲区。

NetSendAppender:

将日志输出到WindowsMessengerservice.这些日志信息将在用户终端的对话框中显示。

RemoteSyslogAppender:

通过UDP网络协议将日志写到Remotesyslogservice。

RemotingAppender:

通过.NETRemoting将日志写到远程接收端。

RollingFileAppender:

将日志以回滚文件的形式写到文件中。

SmtpAppender:

将日志写到邮件中。

TraceAppender:

将日志写到.NETtrace系统。

UdpAppender:

将日志connectionlessUDPdatagrams的形式送到远程宿主或以UdpClient的形式广播。

关于使用log4net中可能会使用到的一些参数

%m(message):

输出的日志消息,如ILog.Debug(…)输出的一条消息

%n(newline):

换行

%d(datetime):

输出当前语句运行的时刻

%r(runtime):

输出程序从运行到执行到当前语句时消耗的毫秒数

%t(threadid):

当前语句所在的线程ID

%p(priority):

日志的当前优先级别,即DEBUG、INFO、WARN…等

%c(class):

当前日志对象的名称,例如

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1