C#のロギングライブラリです。
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib_log
.gitignore
LICENSE
README.md
lib_log.sln

README.md

lib_log

C#のロギングクラス(DLL)です。
使用するには.NET Framework 3.5以上をインストールする必要があります。

機能

  • テキストファイルにログ出力します。
  • 出力するログレベルは4段階です(詳細は後述)
  • 複数プロセスからのアクセスには対応してません。

使い方

以下の関数を呼び出すことでログ出力します。

public static void WriteEntry(string message)

引数messageの内容をログファイルに出力します。
後述のIsAutoFlush設定をfalseに設定している場合、一定量メモリに保持します。
ログレベルはデフォルト(Infomation)になります。

public static void WriteEntry(string message, TraceEventType severity)

引数messageの内容をログファイルに出力します。
後述のIsAutoFlush設定をfalseに設定している場合、一定量メモリに保持します。
引数severityにはログレベルを表す数値0~3を指定します。
また、このログレベルを表す数値はConstantクラスのTraceEventType列挙体によって提供されます。

public static void Flush()

メモリに保持しているログ内容をログファイルに出力します。
その後、メモリに保持しているログ内容を削除します。

設定

lib_log.xmlに値を設定することで、以下の機能を実現することができます。

LogFilePath

ログファイルを出力する絶対パスを指定します。

BaseFileName

ログファイル名のベース部分を指定します。 ログファイル名は「<ベース部分>_<システム日付yyyymmdd>.log」になります。
例:test_20180101.log

IsAppend

ログファイルを末尾に追加するかどうかを指定します。

  • true:末尾に追加する
  • false:末尾に追加しない(更新ごとにログファイルを上書き)

Severity

出力するログレベルを0~3の数値で指定します。
指定したログレベルまでのログを出力します。

  • 0 情報メッセージ(Infomation)
  • 1 重要でない問題(Warning)
  • 2 回復可能なエラー(Error)
  • 3 致命的なエラーまたはアプリケーションのクラッシュ(Critical)

MaxFileSize

ファイルの最大サイズ(byte)を指定します。
ここで指定したサイズより大きくなる場合、新しいログファイルに出力するようになります。
この際、古いログファイルは例えば「test_20180101.log.bk」のようにファイル名の最後に.bkを付与し、一世代前まで管理されます。

IsAutoFlush

ログ出力関数(WriteEntry)を呼び出したタイミングで、ログファイルにログ出力をするかを指定します。

  • true:直ちにログファイルに出力します。
  • false:ログを一定量(MaxFileSizeの3分の1)メモリに保持してからまとめてログファイルに出力します。

通常trueを指定することをオススメしますが、処理速度を速めたい等の状況に応じて、falseを指定します。