mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
個人BLOG
it developer
  1. Main page
  2. DotNET
  3. Main content

Log4Net を利用してログを記録する

2016-07-01 118hotness 0likes 0comments

C#.NET で Log4Net を利用してログを記録する設定のメモ。

方針

  1. ログを %Appdata%\[会社名]\[製品名]\log\ の下に保存したい

    [会社名]=Rohinomiya
    [製品名]=SampleLog4Net

  2. ログを以下のように3つに分けたい

    1. インフォログ(1つのファイルに出力/INFO~WARNレベルのログを保存)
    2. エラーログ(日付別にファイルを作成/ERROR~FATALのログを保存)
    3. トレースログ(日付別にファイルを作成/TRACE~FATALのログを保存)

参考:ログレベル

  • Fatal システム停止するような致命的な障害
  • Error システム停止はしないが、問題となる障害
  • Warn 障害ではない注意警告
  • Info 操作ログなどの情報
  • Debug 開発用のデバッグメッセージ
  • trace 詳細なデバッグの出力

設定手順

  1. Log4Net公式サイトからLog4Net.dllをダウンロードし、C#プロジェクトの参照設定に追加
  2. AssemblyInfo.cs に追記: Log4Netの設定ファイルを読み込む
  3. Log4Netの設定ファイルを記述する(Log4net.Config.xml) 出力フォルダにコピーする=TRUE
  4. Program.cs にて、Loggerオブジェクトを生成すれば、あとはログを吐くだけ

AssemblyInfo.cs に追記

AssemblyInfo.cs
// read Log4Net Configuration file
[assembly: log4net.Config.XmlConfigurator(ConfigFile=@"Log4net.Config.xml", Watch=true)]

Log4net.Config.xml

Log4net.Config.xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>

<!-- 通常ログ:単一ファイル出力 -->
<appender name="InfoLogDailyAppender" type="log4net.Appender.FileAppender">
<File value="${APPDATA}\\Rohinomiya\\SampleLog4Net\\Logs\\Info.log" />

<AppendToFile value="true" />

<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMax" value="WARN" />
<param name="LevelMin" value="INFO" />
</filter>

<layout type="log4net.Layout.PatternLayout">
<ConversionPattern value="%date [%thread] [%-5level] %logger - %message%n" />
</layout>
</appender>

<!-- エラーログ:分割ファイル出力 -->
<appender name="ErrorLogDailyAppender" type="log4net.Appender.RollingFileAppender">
<!-- ファイル名は日付ごと -->
<param name="File" value="${APPDATA}\\Rohinomiya\\SampleLog4Net\\Logs\\Error_" />
<pa

Tag: Nothing
Last updated:2016-07-01

mikebai

This person is a lazy dog and has left nothing

Like
< Last article
Next article >

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang