首先从官方网站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相关推荐

  1. C#配置NuGet包log4Net,生成日志文件

    log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. [1] log4net是Apache ...

  2. Log4Net 配置

    <?xml version="1.0" encoding="utf-8"?> <configuration><configSect ...

  3. Log4net 配置使用总结(一)

    博客园里面关于Log4net配置介绍的文章已经很多了,本篇想对Log4net做一个整体.全面的介绍.一来整理一下自己在学习.配置中遇到的一些问题.二来梳理.总结一下这方面的知识.所以下面相当一部分是从 ...

  4. log4net 日志框架的配置

    log4net 日志框架的简单配置 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2.0,则应选择 ...

  5. log4net 配置文件相对路径配置

    log4net 配置文件相对路径配置 本写主要方向为对配置文件放在相对位置,并非程序(项目)根目录下的的配置方法. 一.关于配置方法 关于log4net的使用我想大家都知道,配置也是有很多的方案,在这 ...

  6. 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页

    本篇体验在ASP.NET MVC 4中使用Log4Net记录日志. 通过NuGet安装Log4Net. 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信息. 大致的思路是: ...

  7. Log4Net使用详解(续)

    说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:http://blog.csdn.net/zhoufoxcn/archive/2008/03/26/2220533.a ...

  8. 在asp.net中使用 log4net 笔记

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...

  9. Log4Net简单使用

    一. Log4net是什么.优点 用来记录程序日志,优点:1.提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug:2.日志信息可以输出到不同的地方(数据库,文件,邮箱等). 二. L ...

最新文章

  1. 独家 | 高季尧:定制化优化算法的应用与威力(附PPT)
  2. 专访阿里云域名与网站业务总经理宋瑛桥:域名未来将更加个性化、生态化和规范化...
  3. Netty中集成Protobuf实现Java对象数据传递
  4. c语言sigaction,使用sigaction(),c
  5. python之递归函数和内建函数
  6. [高中作文赏析]相约
  7. Java架构师必须知道的 6 大设计原则
  8. 【Python】科赫雪花绘制
  9. iPad Air 2完全评测:可怕的三核CPU、六核GPU
  10. 团队第一阶段冲刺——第七天
  11. 树莓派上使用QT+ffmpeg进行音频编码+部署自启动+双击不启动问题
  12. .vb和.cs文件编译成.dll文件
  13. python打开excel执行vba代码_xlwings:操作Excel,通过宏调用Pyhton(VBA调Python)-Go语言中文社区...
  14. 【linux内核分析与应用-陈莉君】字符设备驱动
  15. 基于Python编写的倒计时工具
  16. 用java编国际象棋2之棋子的走法和吃法
  17. 爬虫 一些爬取图片时出现的错误
  18. JKS 密钥库使用专用格式。建议使用 “xxx“ 迁移到行业标准格式 PKCS12
  19. Vue国际化处理 vue-i18n 以及项目自动切换中英文
  20. 一文搞懂 Cocos Creator 3.0 坐标转换原理

热门文章

  1. sqoop简介与安装配置
  2. 【IT笔试面试题整理】丑数
  3. 【TensorRT】将 PyTorch 转化为可部署的 TensorRT
  4. raspberry pi_通过串行蓝牙从Raspberry Pi传感器单元发送数据
  5. 常用音频软件:Wavesufer
  6. 看奥运之一:实力是最重要的
  7. ISERDES Guidelines
  8. OpenCL列举平台列表以及平台属性信息
  9. Java入门:冒泡排序
  10. 找出最具竞争力的子序列_力扣300——最长上升子序列