自分用コピペで何とかするlog4net.xml 日付ログファイル名 | プログラミングがわからなすぎる

プログラミングがわからなすぎる

気が向いた時の備忘録。プログラミングは好きなのに物凄く単純なものしか理解できないからメモしていくうちに覚えられたらいいな
ターゲットフレームワークは大体4.7.2

log4net.xmlの書き方をいちいち調べるのが面倒なので

コピペでとりあえず出力できそうなものを作ってみたその②

 

経験上、ログ出力ファイルは大体以下の2パターンを使うことがあります

①決まったファイル名のログファイルに出力し、バックアップ以上に増えすぎると上書きされる

②日付入りファイル名のログファイルに出力し、毎日ログファイルが作成される

 

今回は↑の②のほうを作ってみた

 

 

 log4net.xml

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="C:\tmp\TestProgramLog" />
    <datePattern value='"_"yyyyMMdd".log"' />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <staticLogFileName value="false" />
    <maxSizeRollBackups value="-1" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date{HH:mm:ss}[%-5level][%t]%m%n" />
    </layout>
  </appender>
  <root>
    <level value="DEBUG" />
    <appender-ref ref="RollingFile" />       
  </root>
</log4net>

 

※赤字箇所は要変更

 

ログの形式は

 時間[レベル][スレッド]メッセージ

で作成しました

 

【出力例】

18:56:25[DEBUG][1]デバッグ
18:56:25[INFO ][1]情報
18:56:25[ERROR][1]エラー
System.Exception: 種類 'System.Exception' の例外がスローされました。

 

これだと毎日使えば毎日出力されるので

ログファイルの削除バッチとかあるといいですね
 

 

参考: