`
izuoyan
  • 浏览: 8952959 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

<!--[if !supportLists]--> A.<!--[endif]-->Log4Net日志管理

Log4Net的日志级别如下:

级别

允许的方法

Boolean属性

优先级别

OFF

Highest

FATAL

void Fatal(...);

bool IsFatalEnabled;

RROR

void Error(...);

bool IsErrorEnabled;

WARN

void Warn(...);

bool IsWarnEnabled;

INFO

void Info(...);

bool IsInfoEnabled;

DEBUG

void Debug(...);

bool IsDebugEnabled;

ALL

Lowest

Log4Net的日志管理提供了多种输出介质如日志文件、数据库、控制台等,下面我们着重介绍以下几 种常用的介质及其使用方法:

<!--[if !supportLists]--> 1、<!--[endif]-->输出介质为日志文件

<!--[if !supportLists]--> a) <!--[endif]-->配置文件中的配置

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

</configSections>

<log4net>

<root>

<!--这里设置了在系统中日志记录的级别,如果在系统中需要记录的级别小于                此处设置的级别则日志不作记录-->

<level value="ALL" />

<!--定义了日志输出的介质的类型,可定义多种输出介质-->

<appender-ref ref="LogFileAppender" />

</root>

<!--输出至指定的日志文件-->

<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >

<!--该配置项参数指明了日志文件存放的地方-->

<param name="File" value="d:\log\Client.log" />

<!--该配置项参数指明是否在原文件中添加日志信息-->

<param name="AppendToFile" value="true" />

<!--该配置项参数指明输出信息的布局或格式-->

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />

</layout>

</appender>

</log4net>

<!--[if !supportLists]--> b) <!--[endif]-->应用程序中的调用

log4net.ILog log = log4net.LogManager.GetLogger("aaa");

//写Error级别的日志信息

log.Error("输出Error级别的日志信息")

//写Info级别的日志信息

log.Info("输出Info级别的日志信息");

<!--[if !supportLists]-->
<!--[endif]--> 2、输出介质为数据库

<!--[if !supportLists]--> a) 配置文件中的配置

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

</configSections>

<log4net>

<root>

<!--这里设置了在系统中日志记录的级别,如果在系统中需要记录的级别小于                此处设置的级别则日志不作记录-->

<level value="ALL" />

<!--定义了日志输出的介质的类型,可定义多种输出介质-->

<appender-ref ref="AdoNetAppender" />

</root>

<!--输出至数据库(Sql Server)。。。测试数据库用Northwind-->

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">

<!--设置缓存中能存放的日志信息个数-->

<bufferSize value="2" />

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=.0, Culture=Neutral, PublicKeyToken=b

<connectionString value="server=(local);database=Northwind;integrated security=false;persist security info=True;UID=sa;PWD=" />

<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />

<!--传入数据库的相对应字段的参数值-->

<parameter>

<!--传入的参数名-->

<parameterName value="@log_date" />

<!--传入参数的类型-->

<dbType value="DateTime" />

<!--传入参数的布局或格式-->

<layout type="log4net.Layout.RawTimeStampLayout" />

</parameter>

<parameter>

<parameterName value="@thread" />

<dbType value="String" />

<size value="255" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%thread" />

</layout>

</parameter>

<parameter>

<parameterName value="@log_level" />

<dbType value="String" />

<size value="50" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%level" />

</layout>

</parameter>

<parameter>

<parameterName value="@logger" />

<dbType value="String" />

<size value="255" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%logger" />

</layout>

</parameter>

<parameter>

<parameterName value="@message" />

<dbType value="String" />

<size value="4000" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%message" />

</layout>

</parameter>

<parameter>

<parameterName value="@exception" />

<dbType value="String" />

<size value="2000" />

<layout type="log4net.Layout.ExceptionLayout" />

</parameter>

</appender>

</log4net>

<!--[if !supportLists]-->
b) <!--[endif]-->应用程序中的调用

log4net.ILog log = log4net.LogManager.GetLogger("aaa");

//写Error级别的日志信息

log.Error("输出Error级别的日志信息")

//写Info级别的日志信息

log.Info("输出Info级别的日志信息");

<!--[if !supportLists]-->
<!--[endif]--> 3、输出介质为控制台

<!--[if !supportLists]--> a) <!--[endif]-->配置文件中的配置

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

</configSections>

<log4net>

<root>

<!--这里设置了在系统中日志记录的级别,如果在系统中需要记录的级别小于                此处设置的级别则日志不作记录-->

<level value="ALL" />

<!--定义了日志输出的介质的类型,可定义多种输出介质-->

<appender-ref ref="ConsoleAppender" />

</root>

<!--输出至控制台-->

<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>

b) <!--[endif]-->应用程序中的调用

log4net.ILog log = log4net.LogManager.GetLogger("aaa");

//写Error级别的日志信息

log.Error("输出Error级别的日志信息")

//写Info级别的日志信息

log.Info("输出Info级别的日志信息");

<!--[if !supportLists]--> 4、<!--[endif]-->输出介质为本地机器的应用程序事件日志

<!--[if !supportLists]--> a) 配置文件中的配置

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

</configSections>

<log4net>

<root>

<!--这里设置了在系统中日志记录的级别,如果在系统中需要记录的级别小于                此处设置的级别则日志不作记录-->

<level value="ALL" />

<!--定义了日志输出的介质的类型,可定义多种输出介质-->

<appender-ref ref="EventLogAppender" />

</root>

<!--输出至Event Log服务-->

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">

<!--该配置项参数指明输出信息的布局或格式-->

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />

</layout>

</appender>

</log4net>

<!--[if !supportLists]--> b) <!--[endif]-->应用程序中的调用

log4net.ILog log = log4net.LogManager.GetLogger("aaa");

//写Error级别的日志信息

log.Error("输出Error级别的日志信息")

//写Info级别的日志信息

log.Info("输出Info级别的日志信息");

<!--[if !supportLists]--> 5、其他

其他的输出介质这里就不再介绍了,如有需要可参照相关资料

在使用Log4Net的日志的时候有几点需要注意:

  • 如果在配置文件中的<root>节点下的配置了多个输出介质即有多个

<appender-ref ref="***" />,那么你所配置的多个输出介质的都将记入相应日志信息

  • <!--[if !supportLists]--> <!--[endif]-->由于我们在应用系统的开发中,某些日志要求达到Error或其他级别时才被记录,介于这种要求,我们需要自己定义一个级别,如下(在配置文件的<root>下加入):

<!--定义个别日志写入的级别-->

<logger name="main">

<level value="Error"></level>

</logger>

调用:

  //指定配置的Logger的名称

  log4net.ILog log = log4net.LogManager.GetLogger("main");

  //写Error级别的日志信息

  log.Error("输出Error级别的日志信息")

//写Info级别的日志信息

log.Info("输出Info级别的日志信息");

分享到:
评论

相关推荐

    Log4net日志管理框架.pdf

    Log4net日志管理框架.pdf

    log4net日志管理

    用于.net开发的日志管理配置文档,可以轻松记录日志,控制程序运行时的过程记录。

    log4net日志管理(自定义字段,写数据库、文本两种模式)

    该日志模块包括,提供写文本和写数据库两种模式的基本功能;通过自定义model所需要的字段,记录日志信息; 可以实现记录所需记录的操作、和系统运行过程中出现的异常;

    log4net日志管理系统(.Net Core). log4net for .Net Core..zip

    管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各类资源进行规划、协调、控制和优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: ...

    log4net日志管理系统(.Net Core).zip

    管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: ...

    log4net组件 用于日志管理

    log4net是基于.net环境下的一个组件,用它可以方便的吉尼新内阁日志管理

    Log4Net使用指南

    Log4Net使用指南 声明:本文内容主要译自Nauman Leghari的Using log4net,亦加入了个人的一点心得(节3.1.4)。 请在这里下载示例代码 ...用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。

    log4net记日志dll

    log4net库在Microsoft .NET平台的实现,是一个帮助程序员将日志信息记录到文件中,里方便查看操作日志(.net使用log4net记日志的相关4个dll)

    log4Net.dll+使用详解

    Log4net是.net非常好的日志管理工具

    C#关于log4net(Log For Net)的使用

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和...

    分布式应用日志管理Log4Grid.zip

    Log4Grid 是一款开源分布式应用监控和日志管理系统,通过该系统可以实时查看每个应用的进程情况外还能看到相应用户记录的程序处理日志信息。为了保证不对用户现有程序的改动,Log4Grid提供相应Log4Net的日志插件,...

    winform+log4net简单示例

    winform结合log4net,把异常信息记录到一个txt文本的简单例子,适合管理系统之类的应用。要知道错误的可重现性对于维护人员来说是很重要的^-^。 使用log4net要注意以下几点: 1)在app.config中写log4net的配置数据 2...

    Log4Net通用组件

    Log4Net通用组件,实现灵活通用的日志管理

    log4net二次日志封装.zip

    对log4net工具包进行了二次封装,利用配置类和静态方法动态创建日志对象,可以设置日志名称、保存根目录、分支目录、日志文件大小、日志文件数量、日志保存时限等。 log4net 是一个高度灵活且强大的日志记录库,可...

    log4Net测试程序

    入门级的.net平台下的log4Net测试程序,基于log4Net搭建系统的日志管理

    Log4net在Spring.net中的管理应用实例

    Log4net在Spring.net中的管理应用实例;自己学习后,与大家一同分享. 内附测试代码.以及配置文档.仅供参考.

    C#关于log4net(Log For Net)的使用说明

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和...

    log4net完整示例代码配置

    几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套...Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。

    2.0—4.5版本的log4net.dll文件.rar

    log4net是Apache开源的应用于.Net框架的日志记录工具用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。 在C#中的具体应用可以参考...

    .Net开源日志管理LogMaster4Net.zip

    (http://docs.supersocket.net/v1-6/zh-CN/Run-SuperSocket-in-Linux-Unix)缺点也不少: 虽然在架构上支持各种日志组件,但其开发者暂时只支持了log4net; 缺乏相应的日志辅助工具,如dashboard, archive; 如需更多...

Global site tag (gtag.js) - Google Analytics