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);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值