会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
韩星
学习交流.Net、Java、PHP、Linux、Android相关知识
技术不是工作的全部,工作不是生活的全部,用技术改变生活!
博客园
首页
新随笔
联系
订阅
管理
Log4Net自动日志组件
1
. 首先你应该下载log4net.dll并引入到你的项目References中.
2
. 需要修改你的global.asa.cs. 配置application对象启动的时候加载log4net配置. 这一步是不可以缺少的.
protected
void
Application_Start(Object sender, EventArgs e)
{
log4net.Config.DOMConfigurator.Configure();
}
3
. 可以看到上面的代码没有参数. 可见是载入了缺省配置. 该配置必须设置于web.config中.
在web.cofig根节点 configuration 中加入如下section:
<
configSections
>
<
section name
=
"
log4net
"
type
=
"
log4net.Config.Log4NetConfigurationSectionHandler, log4net
"
/>
</
configSections
>
4
.该 config section 声明了名为 log4net 的另外一个config section. 后者必须位于web.config根节点 configuration 下: 以下是一个sample:
<
log4net debug
=
"
false
"
>
<
appender name
=
"
LogFileAppender
"
type
=
"
log4net.Appender.FileAppender
"
>
<
param name
=
"
File
"
value
=
"
XxxxApplication.log.txt
"
/>
<
param name
=
"
datePattern
"
value
=
"
MM-dd HH:mm
"
/>
<
param name
=
"
AppendToFile
"
value
=
"
true
"
/>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
%d [%t] %-5p %c [%x] - %m%n
"
/>
</
layout
>
</
appender
>
<
appender name
=
"
HttpTraceAppender
"
type
=
"
log4net.Appender.ASPNetTraceAppender
"
>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
%d [%t] %-5p %c [%x] - %m%n
"
/>
</
layout
>
</
appender
>
<
appender name
=
"
EventLogAppender
"
type
=
"
log4net.Appender.EventLogAppender
"
>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
%d [%t] %-5p %c [%x] - %m%n
"
/>
</
layout
>
</
appender
>
<
appender name
=
"
RollingLogFileAppender
"
type
=
"
log4net.Appender.RollingFileAppender
"
>
<
param name
=
"
File
"
value
=
"
_LogData\Log.txt
"
/>
<
param name
=
"
AppendToFile
"
value
=
"
true
"
/>
<
param name
=
"
MaxSizeRollBackups
"
value
=
"
10
"
/>
<
param name
=
"
MaximumFileSize
"
value
=
"
5MB
"
/>
<
param name
=
"
RollingStyle
"
value
=
"
Size
"
/>
<
param name
=
"
StaticLogFileName
"
value
=
"
true
"
/>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
%d [%t] %-5p %c [%x] - %m%n
"
/>
</
layout
>
</
appender
>
<
root
>
<
level value
=
"
DEBUG
"
/>
<
appender
-
ref
ref
=
"
LogFileAppender
"
/>
</
root
>
</
log4net
>
5
. 以上定义了多个appender. 简单来说, 每一个 appender 都是一种输出介质.
6
. root节点指定了选用的 appender. 本例选用了LogFileAppender. (文本文件输出). 在Appender定义中定义了输出的格式. 和目标文本文件所在位置. (起始位置是应用程序根目录. (web.config所在目录).
7
. 到目前位置就配置好了log4net. 可以在我们的应用中直接使用了.
8
. 以下说明应用方法:
要输出日志, 必须首先得到带有一个别名的logger.
使用以下命令
(C#):
log4net.ILog Logger logger
=
log4net.LogManager.GetLogger(
this
.GetType());
(可以直接使用GetType得到当前类名)
之后调用
logger.Info(
string
message);
logger.Error(
string
message);
logger.Debug(
string
message);
即可输出日志.
调试后可查找应用程序根目录下是否已经自动创建XxxxxApplication.log.txt文本文件.以及是否正确输出了日志.
log4net是一个非常完善的日志组件. 有着强大的可配置性. 有助于提高开发效率.
关于log4net的配置. 可参考apache组织的官方文档位于
http:
//
logging.apache.org/log4net
//
--------------------------------------------------我的应用----------------------------------------------------
1
、WebConfig配置:
<
configSections
>
<
section name
=
"
log4net
"
type
=
"
log4net.Config.Log4NetConfigurationSectionHandler, log4net
"
/>
</
configSections
>
<
log4net
>
<
appender name
=
"
LogFileAppender
"
type
=
"
log4net.Appender.FileAppender,log4net
"
>
<
param name
=
"
File
"
value
=
"
log\\log.txt
"
/>
<
param name
=
"
AppendToFile
"
value
=
"
true
"
/>
<
layout type
=
"
log4net.Layout.PatternLayout,log4net
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
%d [%t] %-5p %c - %m%n
"
/>
</
layout
>
</
appender
>
<
root
>
<
appender
-
ref
ref
=
"
LogFileAppender
"
/>
</
root
>
</
log4net
>
2
、Global里配置application对象启动的时候加载log4net配置
protected
void
Application_Start(Object sender, EventArgs e)
{
log4net.Config.DOMConfigurator.Configure();
}
3
、页面使用:
//
引用命名空间
using
log4net;
using
log4net.Config;
//
先得到带有一个别名
private
readonly
static
ILog ilog
=
log4net.LogManager.GetLogger(
typeof
(当前类名));
或者:log4net.ILog ilog
=
log4net.LogManager.GetLogger(
this
.GetType());
try
{}
catch
(Exception ex)
{
ilog.Error(
"
ErrMsg
"
, ex);
}
posted @
2008-07-06 21:12
wenanry
阅读(
790
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告