文本格式说明

可以记载的日志类别包括: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(“Exam.Log”); 
        log.Debug(“Hello”); 
        则输出为下面的形式: 
        Exam.Log       - Hello 
%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

输出示例:

========== 
【日志级别】ERROR 
【记录时间】2012-11-08 15:49:37,625 
【线程编号】[10] 
【执行时间】[180]毫秒 
【出错文件】C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs 
【出错行号】24 
【出错的类】ConsoleApplication5.Program 属性[(null)] 
【错误描述】错误 
【错误详情】 
System.DivideByZeroException: 尝试除以零。 
   在 ConsoleApplication5.Program.Main(String[] args) 位置 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs:行号 20

========== 
【日志级别】ERROR 
【记录时间】2012-11-08 15:49:37,666 
【线程编号】[10] 
【执行时间】[221]毫秒 
【出错文件】C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs 
【出错行号】28 
【出错的类】ConsoleApplication5.Program 属性[(null)] 
【错误描述】error 
【错误详情】 
System.Exception: 发生了一个异常

使用说明:

配置文件:

节点: <configuration>中添加

  <log4net><!--定义输出到文件中--><appender name="SysAppender" type="log4net.Appender.RollingFileAppender"><!--日志的路径--><file value="Logs/Log4Net/" /><!--是否覆盖,默认是追加true--><appendToFile value="true"/><rollingStyle value="Composite"/><!--文件名称--><DatePattern value="yyyy-MM-dd'.log'"></DatePattern><!--设置无限备份=-1 ,最大备份数为1000--><param name="MaxSizeRollBackups" value="1000"/><!--每个文件的大小--><param name="MaximumFileSize" value="500KB"/><!--名称是否可以更改为false为可以更改--><param name="StaticLogFileName" value="false"/><layout type="log4net.Layout.PatternLayout"><!--输出格式--><conversionPattern value="%n==========
%n【日志级别】%-5level
%n【记录时间】%date
%n【线程编号】[%thread]
%n【执行时间】[%r]毫秒
%n【出错文件】%F
%n【出错行号】%L
%n【出错的类】%logger 属性[%property{NDC}]
%n【错误描述】%message
%n【错误详情】%newline"/></layout></appender><!--定义输出到控制台命令行中--><appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%n==========
%n【日志级别】%-5level
%n【记录时间】%date
%n【线程编号】[%thread]
%n【执行时间】[%r]毫秒
%n【出错文件】%F
%n【出错行号】%L
%n【出错的类】%logger 属性[%property{NDC}]
%n【错误描述】%message
%n【错误详情】%newline"/></layout></appender><!--定义输出到windows事件中--><appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%n==========
%n【日志级别】%-5level
%n【记录时间】%date
%n【线程编号】[%thread]
%n【执行时间】[%r]毫秒
%n【出错文件】%F
%n【出错行号】%L
%n【出错的类】%logger 属性[%property{NDC}]
%n【错误描述】%message
%n【错误详情】%newline"/></layout></appender><!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。--><root><!--文件形式记录日志-->><appender-ref ref="SysAppender"/><!--控制台控制显示日志--><appender-ref ref="ConsoleAppender"/><!--Windows事件日志--><!--<appender-ref ref="EventLogAppender"/>--><!-- 如果不启用相应的日志记录,可以通过这种方式注释掉<appender-ref ref="AdoNetAppender_Access" />--></root></log4net>

代码中:

引用

using log4net; 
using System.Reflection

在命名空间中添加[红色的内容]

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

调用示例:

using System;
using System.Collections.Generic;
using System.Text;
using log4net;
using System.Reflection;[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace ConsoleApplication5
{class Program{static void Main(string[] args){//创建日志记录组件实例ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);//记录严重错误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("发生了一个调试信息"));Console.Read();}}
}

日志插件 log4net 的使用相关推荐

  1. Unity接入日志插件Log4Net

    前言 log4net是一个日志插件,可以帮助我们把控制台输出的日志写入到本地.这个功能说简单就简单,说复杂其实还挺复杂. 为什么这么说呢,首先文件写入本地确实简单,但是如果你要实现一下功能就没那么简单 ...

  2. C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布

    C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows.Liux环境下程序发布 一. MVC含义 二.数据传输 1.控制器向视图传输数据 三.日志组件Log4net ...

  3. 基于log4net的日志组件扩展封装,实现自动记录交互日志 XYH.Log4Net.Extend(微服务监控)...

    背景: 随着公司的项目不断的完善,功能越来越复杂,服务也越来越多(微服务),公司迫切需要对整个系统的每一个程序的运行情况进行监控,并且能够实现对自动记录不同服务间的程序调用的交互日志,以及通一个服务或 ...

  4. log4j中调试与错误日志分开_idea中log4j日志插件报错

    visual studio code权威指南计算机 65.34元 包邮 (需用券) 去购买 > idea中log4j日志插件报错 在运行测试代码的时候,出现以下错误! 在 src/ main / ...

  5. BeetleX网关自定义请求日志插件

    网关转发日志非常有用可以进行数据和行为分析,组件提供一个默认的日志插件,但默认记录的东西比较简单不一定满足业务的需要:其实组件提供信息非常完善足以满足不同情况的需要.在这里介绍一下如何实现一个日志插件 ...

  6. Doris之审计日志插件

    审计日志插件 Doris 的审计日志插件是在 FE 的插件框架基础上开发的.是一个可选插件.用户可以在运行时安装或卸载这个插件. 该插件可以将 FE 的审计日志定期的导入到指定 Doris 集群中,以 ...

  7. mysql5.7安装审计日志插件audit-plugin

    1. 插件说明 原来在mysql5.7.33版本中,使用server_audit.so插件审计日志插件(来源MariaDB )无问题,但从5.7.34版本开始,该插件停止使用,针对5.7.34及之后的 ...

  8. C#项目中使用日志框架Log4net

    C#项目中使用日志框架Log4net 背景 准备条件 日志服务简单封装 使用封装的服务类记录日志 配置文件App.config/Web.config 背景 无论是软件的开发期间还是发布后的运维期间,日 ...

  9. C#输出日志文件——log4net组件

    C#输出日志文件--log4net组件 前言 最近在写一个Winform项目,发现不知道怎么查看相关的输出信息来判断逻辑,经过一番搜索终于了解到这个一个非常好用的组件--log4net. log4ne ...

最新文章

  1. 邬贺铨院士:边缘计算“新十问”
  2. jquery选择器的一些处理
  3. 用一个类根据Model属性生成SQL语句
  4. 【mysql优化专题】本专题终极总结(共12篇)
  5. 2012自动登录服务器,配置Windows自动登录 - Windows Server | Microsoft Docs
  6. Catch Overflow!
  7. 异常-自定义异常 和 throw和throws的区别
  8. 【C#桌面应用】第一节:使用C#开发桌面应用的准备
  9. php如何做水仙花数,使用PHP实现水仙花数及各种特殊有趣数的输出
  10. linux网卡主备,linux网卡bounding的主备模式下上层路由端需要什么设置?
  11. 吴恩达机器学习 11.聚类
  12. 实验4-1-6 求分数序列前N项和 (15 分)
  13. JavaSE网络编程练习
  14. 借助百度识图爬取数据集
  15. 解决: 小程序涉及提供天气查询等相关服务,请选择:工具-天气类目。微信小程序修改类目
  16. tp6 api请求返回参数统一配置方法
  17. 基于C++实现家谱管理系统
  18. linux 软链接 相对路径,Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)...
  19. 真正福建电信笔试题(专业对口请进)(转载)
  20. 小企鹅输入法的安装(fcitx)

热门文章

  1. OpenGL 光照贴图Lighting maps
  2. C++使用二个栈实现queue(附完整源码)
  3. C语言 内存管理之栈
  4. 「pip」常用pip镜像地址
  5. 02_pyplot.plot函数、回顾第一个例子、格式字符串、plot函数、线型风格字符、标记(marker)字符、颜色字符
  6. 什么是容器、什么是docker、docker与虚拟机的对比、docker做什么、运行场景,Docker功能和组件,Docker的C/S模式的运行,Docker概念,相关概念
  7. Mapreduce和Yarn概念,参数优化,作用,原理,MapReduce计数器 Counter,MapReduce 多job串联之ControlledJob(来自学习资料)
  8. jquery.query-*.js 操作url
  9. Hibernate的延迟加载
  10. 我的世界java和网易能联机吗_网易我的世界单机怎么转联机