[log4net] ログをファイルに出力する

Appender に log4net.Appender.FileAppender を使用すると、ファイルにログを出力することができます。

App.configの例を以下に示します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>

  <log4net>
    <!-- ファイルを使用するAppenderの例 -->
    <appender name="LogToFile" type="log4net.Appender.FileAppender" >
      <!-- 作成するログファイル -->
      <file value="C:\Work\MyLog.log" />
      <!-- 追加で書き込みをする -->
      <appendToFile value="true" />
      <!-- ログの書式 -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d[%t] %p - %m%n"/>
      </layout>
    </appender>

    <root>
      <!-- すべてのログを出力したい場合 -->
      <level value="All" />
      <!-- どのログ出力先を使用するか -->
      <appender-ref ref="LogToFile" />
    </root>
  </log4net>
</configuration>

App.configの例


App.config 設定の説明
まず、ファイルにログを出力するために、Appenderのtype(9行目)には log4net.Appender.FileAppender を指定します。

作成するファイルは <file>タグの value 属性に 出力先のログファイルのパスを指定します(11行目)。

ログを追加書き込みする場合は <appendToFile>タグの value属性に”AppendToFile” を指定します(13行目)。

あとはログを出力するコードを記述するのみです。

以下ログ出力のコード例です(再掲)。
VBの例

Imports log4net

Private log As ILog = LogManager.GetLogger( _
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

Sub Main()
    log.Fatal("Fatal")
    log.Error("Error")
    log.Warn("Warn")
    log.Info("Info")
    log.Debug("Debug")

    Console.ReadLine()
End Sub

C#の例

using log4net;
class Program
{
    private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    static void Main(string[] args)
    {
        log.Fatal("Fatal");
        log.Error("Error");
        log.Warn("Warn");
        log.Info("Info");
        log.Debug("Debug");                        

        Console.ReadLine();
    }
}

実行例は以下の通りです。

実行例

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください