日志组件LOG4NET的使用

 

 

格式说明

可以记载的日志类别包括:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。

文本参数说明

%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息 
%n(new line):换行 
%d(datetime):输出当前语句运行的时刻 
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 
%t(thread id):当前语句所在的线程ID 等同于 %thread 
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 
%c(class):当前日志对象的名称,例如: 
        模式字符串为:%-10c -%m%n 
        代码为: 
        ILog log=LogManager.GetLogger(“Log4netApp”); 
        log.Debug(“Hello world!”); 
        则输出为下面的形式: 
        Log4netApp-Hello world
%L:输出语句所在的行号 
%F:输出语句所在的文件名 
%-数字:表示该项的最小长度,如果不够,则用空格填充 
%newline: 错误详情 
%message: 自定义输出信息 
%logger: 类 
%property: 属性

以下为个人定义的模板

%n========== 
%n【日志级别】%-5level 
%n【记录时间】%date 
%n【线程编号】[%thread] 
%n【执行时间】[%r]毫秒 
%n【出错文件】%F 
%n【出错行号】%L 
%n【出错的类】%logger 属性[%property{NDC}] 
%n【错误描述】%message 
%n【错误详情】%newline

输出示例:

==========                                   
【日志级别】FATAL                                   
【记录时间】2019-03-16 14:54:47,443                                   
【线程编号】[18]                                   
【执行时间】[4403]毫秒                                   
【出错文件】D:\Log4netApp\Log4netApp\Default.aspx.cs                                   
【出错行号】20                                   
【出错的类】Log4netApp._Default 属性[(null)]                                   
【错误描述】严重错误                                   
【错误详情】

==========                                   
【日志级别】FATAL                                   
【记录时间】2019-03-16 14:54:47,528                                   
【线程编号】[18]                                   
【执行时间】[4488]毫秒                                   
【出错文件】D:\Log4netApp\Log4netApp\Default.aspx.cs                                   
【出错行号】21                                   
【出错的类】Log4netApp._Default 属性[(null)]                                   
【错误描述】严重错误                                   
【错误详情】
System.Exception: 发生了一个致命错误

 

使用说明:

配置文件:

节点: 中添加

  
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
        
        
      
    
    
    
      
        
      
    
    
    
      
        
      
    
    
    
      >
      
      
      
      
      
      
     
  

代码中引用:

using log4net; 
using System.Reflection

在命名空间中添加:

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 
namespace ConsoleApplication5

调用示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Log4netApp
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Log4netApp");//获取一个日志记录器

            //记录严重错误
            log.Fatal("严重错误");
            log.Fatal("严重错误", new Exception("发生了一个致命错误"));
            //记录错误日志
            log.Error("错误");
            log.Error("错误", new Exception("发生了一个异常"));
            //记录警告信息
            log.Warn("警告");
            log.Error("警告", new Exception("有一个警告信息"));
            //记录一般信息
            log.Info("一般信息");
            log.Error("一般信息", new Exception("发出一个一般信息"));
            //记录调试信息
            log.Debug("调试信息");
            log.Error("调试信息", new Exception("发生了一个调试信息"));
        }
    }
}

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 不在命名空间之前添加,也可在项目的AssemblyInfo.cs添加:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Log4netApp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Log4netApp")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// 将 ComVisible 设置为 false 会使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]

// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("dac87c3c-d51e-41ff-b53f-41b033447301")]

// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

 

你可能感兴趣的:(插件开发)