平时项目里一直都有在使用log4net作为日志记录模块,当时一直都没有去理解log4net的配置文件信息。今天抽出了一点时间来看了看配置文件信息。

log4net配置文件信息:

    <log4net>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="100"/>
<param name="MaxFileSize" value="10240"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyyMMdd"/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n"/>
</layout>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="100"/>
<param name="MaxFileSize" value="10240"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyyMMdd"/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n"/>
</layout>
</appender>
<logger name="logerror">
<level value="ERROR"/>
<appender-ref ref="ErrorAppender"/>
</logger>
<logger name="loginfo">
<level value="INFO"/>
<appender-ref ref="InfoAppender"/>
</logger>
</log4net>
一个appender节点,作为一种日志类型的配置,可以根据param参数,很方便地配置文件大小,是否为附加错误信息等等配置信息。
一个logger节点,作为一个具体日志对象的设置,根据不同的名称,可以设置和选择不同的日志记录方式。 当然仅仅有配置文件是不够的,我们还需要给log4net增加Helper类。
    public class Log4Helper
{
public Log4Helper()
{ } private static readonly ILog logerror = LogManager.GetLogger("logerror");
private static readonly ILog loginfo = LogManager.GetLogger("loginfo"); public static void AddError(string errMsg)
{
logerror.Error(errMsg);
} public static void AddError(Exception ex)
{
logerror.Error(Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
} public static void AddError(string errMsg, Exception ex)
{
logerror.Error(errMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
} public static void AddInfo(string infoMsg)
{
loginfo.Info(infoMsg);
} public static void AddInfo(string infoMsg, Exception ex)
{
loginfo.Info(infoMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
}
}

在Helper类的帮助下,我们可以选择不同的日志记录方式,记录不同的日志信息。

写于 2014-01-08

log4net使用的更多相关文章

  1. Log4net - 规则简介

    参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...

  2. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  3. log4net使用手册

    1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...

  4. Log4Net应用问题

    问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ...

  5. 在C#代码中应用Log4Net系列教程(附源代码)

    Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...

  6. Log4net入门(帮助类篇)

    在前几篇Log4net入门文件的讲述过程中,我们在使用log4net的类中都要编写如下一行代码: private static log4net.ILog log = log4net.LogManage ...

  7. Log4net入门(WCF篇)

    在上一篇Log4net入门(ASP.NET MVC 5篇)中,我们讲述了如何在ASP.NET MVC 5项目中使用log4net.在这一篇中,我们将讲述如何在WCF应用中使用log4net,为了讲述这 ...

  8. Log4net入门(ASP.NET MVC 5篇)

    在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中. 一.创建最简单的AS ...

  9. Log4net入门(SQL篇)

    我们在Log4net入门(回滚日志篇)中详细讲述了如何将日志信息输出到日志文件中,在这一篇中,我们将讲述如何将日志文件写入SQL Server数据库,以方便我们分析统计日志信息. 首先,我们在SQL ...

  10. Log4net入门(回滚日志文件篇)

    在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...

随机推荐

  1. Dirty Markup - 在线代码美化工具

    如果你需要一个帮助你规整书写混乱的代码的工具的话,我强烈推荐给你这个在线代码美化工具 - Dirty Markup.这个在线工具能够帮助你有效的处理HTML/HTML5,CSS和javascript代 ...

  2. R-数据结构

    目录 数据类型(模式) 字符型 数值型 逻辑型 整形 复数型(虚数) 原生型(字节) 数据结构 向量 矩阵 数组 数据框 列表 数据类型 数据结构  向量 用于存储数值型.字符型或逻辑型数据的一维数组 ...

  3. [译]Mongoose指南 - 查询

    查询有带callback和不带callback两种方式 所有mongoose的callback都是这种格式: callback(err, result) var Person = mongoose.m ...

  4. 阿里云Centos配置iptables防火墙

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...

  5. 新年新技术:HTTP/2

    新的一年,项目也要带着发展的眼光往前走,得跟上潮流,当然前提是自己真的用的上. 用的上用不上都得先简单了解下. 2月下旬Google发布了首个基于HTTP/2的RPC框架GRPC,它是基于HTTP/2 ...

  6. saltstack 入门命令

    master服务启动 CentOS 7 (Debian.OpenSuse.Fedora) systemctl start salt-master /etc/init.d/salt-master sta ...

  7. telnet: connect to address 127.0.0.1: Connection refused

    telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序,用它连接 ...

  8. android 在线升级借助开源中国App源码

    android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...

  9. Windows上安装使用MongoDB(一)

    首先下载MongoDB的Windows版本,从如下地址: https://www.mongodb.org/downloads. 我下载的msi版本,下载后安装即可,如我安装的盘符是:C:\Progra ...

  10. Effective Java 学习笔记之所有对象都通用的方法

    一.覆盖equals时请遵守通用约定 1.满足下列任何一个条件时,不需要覆盖equals方法 a.类的每个实例本质上都是唯一的.此时就是Object中equals方法所表达的含义. b.不关心类是否提 ...