C#配置及使用log4net
首先从官方网站http://logging.apache.org/log4net/下载最近版本的log4net组件。在程序中添加对log4net.dll的引用,就可以在程序中使用了。
下一步,编写配置文件,内容如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler"/>
</configSections>
<log4net>
<!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
<root>
<level value="Debug" name="myLogger"/>
<appender-ref ref="ADONetAppender"/>
<appender-ref ref="LogFileAppender" />
</root>
<!--定义输出到文件中-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="log4netfile.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HH:mm:ss" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]"/>
<param name="Footer" value="[Footer]"/>
<param name="ConversionPattern" value="%d [%t] %-5p %c[%x] - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] -%m%n" />
</layout>
</appender>
</log4net>
</configuration>
以上配置中最重要的就是红色字体部分,设置了日志文件的文件名。
下面是使用代码,log4net可以记载的日志类别包括:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//+-------------------------------------------------------------------+
//+ FileName: LogExecutor
//+ File Created: 2012-6-5 9:07:02
//+-------------------------------------------------------------------+
//+ Purpose:
//+-------------------------------------------------------------------+
//+ History: 2012-6-5 9:07:02 by JingXiao
//+-------------------------------------------------------------------+
//+ Comment:
//+-------------------------------------------------------------------+
//+ Creator JingXiao
//+-------------------------------------------------------------------+
[assembly: log4net.Config.DOMConfigurator(Watch = true)]
namespace LogService
{
public class LogExecutor
{
#region Logger Setter
private static readonly log4net.ILog _log=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion
#region 构造函数
/// <summary>
/// 构造函数
/// </summary>
private LogExecutor()
{
System.IO.FileInfo configfile = new System.IO.FileInfo(@"LogCfg.config");
log4net.Config.DOMConfigurator.Configure(configfile);
}
#endregion
//单例
public static readonly LogExecutor instance = new LogExecutor();
#region 成员
/// <summary>
/// 普通信息写日志
/// </summary>
/// <param name="msg">要记录的字符串</param>
public void WriteInfo(string msg)
{
_log.Info(msg);
}
/// <summary>
/// 普通信息写日志(字串拼接模式)
/// </summary>
/// <param name="msg">要记录的字符串</param>
public void WriteInfo(string format,params object[] args)
{
string msg = string.Format(format, args);
_log.Info(msg);
}
/// <summary>
/// 普通异常信息写日志
/// </summary>
/// <param name="sourceServiceID">(发生调用的)服务ID</param>
/// <param name="logInfo">日志内容</param>
public void WriteEx(string msg,Exception ex)
{
_log.Error(msg,ex);
}
/// <summary>
///
/// </summary>
/// <param name="msg"></param>
/// <param name="ex"></param>
public void WriteFatalEx(string msg,Exception ex)
{
_log.Fatal(msg,ex);
}
/// <summary>
/// 调试信息
/// </summary>
/// <param name="msg"></param>
public void WriteDebugInfo(string msg)
{
_log.Debug(msg);
}
/// <summary>
/// 调试信息(字串拼接模式)
/// </summary>
/// <param name="format"></param>
/// <param name="args"></param>
public void WriteDebugInfo(string format, params object[] args)
{
_log.Debug(string.Format(format, args));
}
#endregion
}
}
注意绿色部分一定不能省略,不然的话,代码能跑起来,就是不写入日志文件,擦。
另外红色部分是设置使用我们刚才手写的配置文件,注意,要把配置文件设置为“复制到输出目录”。
转载于:https://www.cnblogs.com/ashlee/archive/2012/11/22/2782258.html
C#配置及使用log4net相关推荐
- C#配置NuGet包log4Net,生成日志文件
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. [1] log4net是Apache ...
- Log4Net 配置
<?xml version="1.0" encoding="utf-8"?> <configuration><configSect ...
- Log4net 配置使用总结(一)
博客园里面关于Log4net配置介绍的文章已经很多了,本篇想对Log4net做一个整体.全面的介绍.一来整理一下自己在学习.配置中遇到的一些问题.二来梳理.总结一下这方面的知识.所以下面相当一部分是从 ...
- log4net 日志框架的配置
log4net 日志框架的简单配置 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2.0,则应选择 ...
- log4net 配置文件相对路径配置
log4net 配置文件相对路径配置 本写主要方向为对配置文件放在相对位置,并非程序(项目)根目录下的的配置方法. 一.关于配置方法 关于log4net的使用我想大家都知道,配置也是有很多的方案,在这 ...
- 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页
本篇体验在ASP.NET MVC 4中使用Log4Net记录日志. 通过NuGet安装Log4Net. 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信息. 大致的思路是: ...
- Log4Net使用详解(续)
说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:http://blog.csdn.net/zhoufoxcn/archive/2008/03/26/2220533.a ...
- 在asp.net中使用 log4net 笔记
log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...
- Log4Net简单使用
一. Log4net是什么.优点 用来记录程序日志,优点:1.提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug:2.日志信息可以输出到不同的地方(数据库,文件,邮箱等). 二. L ...
最新文章
- 独家 | 高季尧:定制化优化算法的应用与威力(附PPT)
- 专访阿里云域名与网站业务总经理宋瑛桥:域名未来将更加个性化、生态化和规范化...
- Netty中集成Protobuf实现Java对象数据传递
- c语言sigaction,使用sigaction(),c
- python之递归函数和内建函数
- [高中作文赏析]相约
- Java架构师必须知道的 6 大设计原则
- 【Python】科赫雪花绘制
- iPad Air 2完全评测:可怕的三核CPU、六核GPU
- 团队第一阶段冲刺——第七天
- 树莓派上使用QT+ffmpeg进行音频编码+部署自启动+双击不启动问题
- .vb和.cs文件编译成.dll文件
- python打开excel执行vba代码_xlwings:操作Excel,通过宏调用Pyhton(VBA调Python)-Go语言中文社区...
- 【linux内核分析与应用-陈莉君】字符设备驱动
- 基于Python编写的倒计时工具
- 用java编国际象棋2之棋子的走法和吃法
- 爬虫 一些爬取图片时出现的错误
- JKS 密钥库使用专用格式。建议使用 “xxx“ 迁移到行业标准格式 PKCS12
- Vue国际化处理 vue-i18n 以及项目自动切换中英文
- 一文搞懂 Cocos Creator 3.0 坐标转换原理