asp.net + winform + log4net 使用示例|using log4net with asp.net/winform

log4net, 是 apache.org 在 log4j的基础上推出的针对.NET程序的开源的日志组件。

log4net目前的最新版本是 1.2.10,log4net支持的日志保存方式,可谓丰富之极,包括:

  • 存入SQL SERVER 数据库
  • 存入ACCESS数据库
  • 存入ORACLE数据库
  • 存入DB2数据库
  • 存入SQLLite数据库
  • 生成asp.net 的trace模式的日志
  • 缓存方式的日志
  • 直接输出到控制台屏幕(支持彩色)
  • 存入系统日志
  • 生成单文件日志
  • 生成多文件日志
  • 保存在内存中
  • 利用net send 发送给指定的网络域或主机
  • 远程生成日志
  • 利用SMTP发送日志到指定的邮箱
  • 利用IIS的SMTP,将日志放入MAIL目录
  • 利用UDP协议发送日志

上面的,各种日志保存方式的具体配置细节, 在 这里

log4net的日志记录分为7级,从高到低为: OFF、FATAL、ERROR, WARN, INFO, DEBUG, ALL

要使用log4net,必须给log4net指定好配置文件, 有两种方法:

  1. 放入 web.config 或 app.config
  2. 放入一个单独的配置文件,如: log4net.config (推荐)

log4net的配置格式,大致如下:

<? xml version="1.0" encoding="utf-8"  ?>
< log4net  debug ="false" >
    
< appender  name ="RollingLogFileAppender"  type ="log4net.Appender.RollingFileAppender" >
        
< file  value ="log.txt"   />
        
< appendToFile  value ="true"   />
        
< rollingStyle  value ="Composite"   />
        
< datePattern  value =".yyyyMMdd"   />
        
< maxSizeRollBackups  value ="10"   />
        
< maximumFileSize  value ="1MB"   />
        
< staticLogFileName  value ="true"   />
        
< layout  type ="log4net.Layout.PatternLayout" >
            
< conversionPattern  value ="%date %-5level %logger -%m%n"   />
        
</ layout >
    
</ appender >
    
< root >
        
< level  value ="WARN"   />
        
< appender-ref  ref ="RollingLogFileAppender"   />
    
</ root >
</ log4net >
 上面给出的是一个独立的log4net的配置文件,大体解释一下:

<log4net></log4net>是根,<root></root>是必须的,是所有日志格式的根,其中定义了,日志记录的基础级别,和当前启用的日志记录方式, 上面的 appender 将继承root的level

appender中的 type 指明了,采用哪种方式来记录日志,具体取值,大家去 这里 查看

layout是日志输出格式的定义

%d, %date :表示当然的时间

%level : 表示日志的级别

%logger, %c:表示日志产生的主题,通常是所在的类名,便于定位问题

%t, %thread: 表示 所在进程

%L: 表示产生日志的代码所在的行数

%m, %message :表示日志的具体内容

%n, %newline: 换行

--------------------------------------------------------------------------

我上面的是一个多文件日志的配置, 每天产生一个日志文件,日志名字是 log.txt.20081228 的形式

下面重点说一下使用的具体步骤:

1. 加入 log4net.dll 的引用

2. 对于 web application winform

AssemblyInfo.cs 中,加入

        [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch=true)]
//log4net.config 是配置文件的名称,可以自行设置
//Watch 是表示在程序运行期间是否监视该配置文件的变动

3. 对于 website 项目,需要在 global.asax.cs 里,加入

        protected void Application_Start(Object sender, EventArgs e)
{
           //配置log4net
log4net.Config.XmlConfigurator.Configure( new System.IO.FileInfo("log4net.config"));
}

4. 实际调用

class  Program
    {
        
private   static   readonly  ILog log  =  LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType 
        
// 是利用反射获取当前类的type,记录在日志中,便于定位日志发生的所在

        
static   void  Main( string [] args)
        {
            log.Error(
" 这是一个错误日志 " );
            log.Fatal(
" 这是一个致命的错误日志 " );
            log.Warn(
" 这是一条警告日志 " );
            log.Info(
" 这是一条普通信息 " );
            Console.Read();
        }
    }
 
下面附上一张生成的日志内容的截图

 

原文: http://www.zu14.cn/2008/12/27/log4net/

转载于:https://www.cnblogs.com/1971ruru/archive/2011/06/21/2085973.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值