`
yaodi841111
  • 浏览: 4338 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

log4net

    博客分类:
  • .NET
阅读更多

1、log4netをダウンロード&プロジェクトに追加

1)log4net プロジェクト ホーム
http://logging.apache.org/log4net/

2)log4netをダウンロード
http://logging.apache.org/log4net/download.html

ダウンロードしたファイルを適当な場所に解凍する。
解凍先に「log4net.dll」ファイルがあることを確認できる。

3)log4netをプロジェクトに追加
・ログを出力したいプロジェクトの「参照設定」に右クリック
・「参照の追加」をクリック
・「参照」タブを選択
・「ファイルの場所」に「log4netの解凍先」を選択
・「log4net.dll」をクリック、「OK」ボタンをクリックしたら完了

2、log4net設定

log4netを利用する前に、ちょっとした設定が必要になる。
簡単に説明する

適当なファイル名で例えばlog4net.xmlというファイルを作成する。
log4net.xml

<?xml version="1.0" encoding="utf-8" ?>  
  
<log4net>  
  <appender name="Console" type="log4net.Appender.ConsoleAppender">  
    <layout type="log4net.Layout.PatternLayout">  
      <!-- Pattern to output the caller's file name and line number -->  
      <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />  
    </layout>  
  </appender>  
  
  <appender name="BusinessLog" type="log4net.Appender.RollingFileAppender">  
    <file value="c:/MyAppBiz" />  
    <appendToFile value="true" />  
    <maximumFileSize value="10000KB" />  
    <maxSizeRollBackups value="2" />  
    <param name="DatePattern" value='"."yyyy-MM-dd".log"' />  
    <param name="RollingStyle" value="date " />  
    <param name="StaticLogFileName" value="false" />  
      
    <layout type="log4net.Layout.PatternLayout">  
      <conversionPattern value="%date [%thread] %-5level (%class.%method:%line) - %message%newline" />  
    </layout>  
  </appender>  
  
  <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">  
    <file value="c:/MyAppDebug" />  
    <appendToFile value="true" />  
    <maximumFileSize value="10000KB" />  
    <maxSizeRollBackups value="2" />  
    <param name="DatePattern" value='"."yyyy-MM-dd".log"' />  
    <param name="RollingStyle" value="date " />  
    <param name="StaticLogFileName" value="false" />  
  
    <layout type="log4net.Layout.PatternLayout">  
      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%thread] %-5level (%class.%method:%line) - %message%newline" />  
    </layout>  
  </appender>  
  
  <!--   
  <root>  
    <level value="DEBUG" />  
    <appender-ref ref="Console" />  
    <appender-ref ref="BusinessLog" />  
  </root>  
-->  
    
  <logger name="BusinessLogger">  
    <level value="INFO" />  
    <appender-ref ref="BusinessLog" />  
  </logger>  
  
  <logger name="DebugLogger">  
    <level value="DEBUG" />  
    <appender-ref ref="DebugLog" />  
  </logger>  
</log4net>  
 

 ※log4net.xmlの詳細について、解説を省略する。
※conversionPatternの解説について、次の記事を参照できる。
■[C#] Log4net(12) ConversionPatternの詳細
http://d.hatena.ne.jp/shima111/20060703/p1

 

3、log4net汎用クラスを作成する

log4netを利用しやすくなるため、汎用クラスを作成する。

例:

using log4net;
using log4net.Appender;
using log4net.Config;

namespace Common.Log
{
    /// <summary>
    /// ログ クラス
    /// </summary>
    public class Loggers
    {
        private static String LOG4NET_CONF_FILE = "C:\\myproject\\Log\\log4net.xml";  //適当なディレクトリ名に変更

        private ILog biz;
        private ILog debug;

        private static Loggers instance = new Loggers();
    
        /// <summary>
        /// コンストラクタ
        /// </summary>
        private Loggers()
        {
            XmlConfigurator.Configure(new System.IO.FileInfo(LOG4NET_CONF_FILE));

            biz = LogManager.GetLogger("BusinessLogger");
            debug = LogManager.GetLogger("DebugLogger");
        }

        /// <summary>
        /// ビジネスログ
        /// </summary>
        /// <returns></returns>
        public static ILog BusinessLog
        {
            get { return instance.biz; }
        }

        /// <summary>
        /// デバッグログ
        /// </summary>
        /// <returns></returns>
        public static ILog DebugLog
        {
            get { return instance.debug; }
        }
    }
}
 

 

4)ログを出力

      //リクエスト・エンド・イベント  
      protected void Application_EndRequest(object sender, EventArgs e)  
      {  

          Loggers.DebugLog.Debug("Request DebugLog.Debug。");  

          Loggers.BusinessLog.Debug("Request BusinessLog.Debug。");  
          Loggers.BusinessLog.Info("Request BusinessLog.Debug。");  
      }  

 

実行すると、

 

c:/MyAppBiz.2010-01-04.log

2010-01-04 18:21:48,734 [8] DEBUG (Myapp.ServerEntry.Global.Application_EndRequest:65) -Request DebugLog.Debug。

 

c:/MyAppDebug.2010-01-04.log

2010-01-04 18:21:48,736 [8] DEBUG (Myapp.Global.Application_EndRequest:67) - Request BusinessLog.Info。

 が生成される。

 

オープンソースのロギング・サービス「log4net」を使う

 

 

 

 

 

分享到:
评论

相关推荐

    log4net-2.0.8-src_log4net源代码_log4net_

    《深入解析log4net:基于源代码的洞察》 log4net是一款强大的日志记录...log4net-2.0.8-src.zip和log4net-2.0.8文件包含了log4net的源代码和编译后的库,对于想要学习和研究log4net的开发者来说,是一份宝贵的资源。

    Log4net详细说明使用

    Log4net是一个强大的开源日志记录组件,广泛应用于.NET框架中。它提供了丰富的日志管理功能,能够将日志信息按不同级别分类,并以多种格式输出到不同的目标,如文件、控制台、数据库等。使用Log4net可以方便地监控和...

    C# log4net自动删除多少天前的log文件

    在IT行业中,日志管理是系统监控和故障排查的关键环节,尤其在使用.NET框架开发应用程序时,C#的log4net库是一个非常流行的日志记录工具。log4net以其灵活性和强大的功能,允许开发者轻松地配置日志输出,包括日志...

    c#版本 Log4Net2.0.8版本,包含自己优化组件源码(真Log4Net)

    **Log4Net 2.0.8 知识点详解** Log4Net 是一个流行的、开源的日志记录框架,由 Apache 软件基金会开发,主要用于.NET Framework 和 .NET Core 应用程序。这个框架提供了丰富的日志记录功能,允许开发者以灵活的方式...

    log4net源码

    **log4net源码分析** `log4net`是一款广泛使用的日志记录框架,它源自Java平台上的log4j,并被移植到了.NET环境中。这款开源库提供了强大的日志记录功能,支持多种输出方式,如控制台、文件、数据库等,且具有可...

    Log4Net .net3.5版本

    Log4Net是Apache软件基金会开发的一个开源项目,它是一个强大的日志记录框架,广泛应用于.NET平台,用于在应用程序中记录各种级别的信息,如调试、警告、错误和致命错误。.NET 3.5是一个非常流行的.NET Framework...

    WinForm Log4Net 配置和使用实例

    Log4Net是Apache组织提供的一款强大的、灵活的日志框架,广泛应用于C#项目中,包括WinForm应用。本实例将详细介绍如何在WinForm应用中配置和使用Log4Net。 首先,我们要理解Log4Net的基本概念。Log4Net提供了一个可...

    Wpf log4net 日志

    &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /&gt; &lt;log4net&gt; &lt;appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"&gt; ...

    C#Winform 下使用log4net成功的例子

    &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/&gt; &lt;log4net&gt; &lt;appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"&gt; ...

    log4net配置详细图解+Demo

    &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /&gt; ``` - 然后,在配置节内定义日志输出的目标(appender)和日志级别(level),例如输出到控制台: ```xml ...

    C# 使用Log4Net记录日志

    &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/&gt; &lt;log4net&gt; &lt;appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"&gt; &lt;layout type="log4...

    log4net。log4net

    例如,在ASP.NET Web应用中,可以在Global.asax.cs的Application_Start方法中初始化log4net,然后在代码中使用`log4net.ILog`接口记录日志。 ```csharp using log4net; private static readonly ILog log = ...

    log4net自动删除日志文件实现

    在.NET项目中使用log4net,需要引用`log4net.dll`库。可以通过NuGet包管理器安装,也可以直接从Apache官方网站下载。添加引用后,在程序启动时初始化log4net配置,并通过`log4net.Config.XmlConfigurator.Configure...

    log4Net.dll+使用详解

    **log4Net.dll 使用详解** 在.NET开发环境中,日志管理是不可或缺的一部分,它能够帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。Log4net是Apache软件基金会的一个开源项目,它为.NET Framework提供了...

    net6 控制台+ log4net+写数据库+自定义字段

    在.NET 6框架下,构建一个控制台应用并结合log4net进行日志记录,同时将日志数据存储到数据库并支持自定义字段,是一项常见的系统监控和故障排查任务。以下将详细介绍如何实现这一功能。 首先,log4net是Apache的一...

    log4net配置,日志纪录log4j的.NET版

    配置log4net通常通过XML配置文件进行,如`log4net.config`。该文件中定义了日志的Appenders(输出目的地)、Layouts(输出格式)和Loggers(日志级别)等核心元素。例如: ```xml &lt;log4net&gt; ...

    .Net 使用Log4Net 获取系统日志并写入数据库

    &lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/&gt; &lt;log4net&gt; &lt;appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"&gt; , System.Data, ...

    wpf log4net richtextbox

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用程序中集成log4net库,以便实现高效、直观的日志记录功能。我们将利用RichTextBox控件来展示实时的日志信息,同时通过log4net将日志数据...

    C#控制台应用使用Log4net日志

    本文将深入探讨如何在C#控制台应用程序中使用Log4net这一流行的日志框架。Log4net是Apache软件基金会的一个项目,它为.NET应用程序提供了强大的日志记录功能,具有灵活的配置和多种输出选项。 首先,我们要理解Log4...

    net Core 5.0 Log4Net 全局注册

    Log4Net是.NET平台上一个广泛使用的日志框架,它提供了一种灵活的方式来管理和记录应用的日志信息。本文将详细讨论如何在.NET Core 5.0项目中全局注册Log4Net,以便在整个应用中统一使用日志服务。 首先,要使用Log...

Global site tag (gtag.js) - Google Analytics