C#

【C#】log4netの使い方

log4netの使い方を紹介します。

環境

  • .NET Framework 4.6
  • VisuakStudio Community 2017

設定方法

log4netのインストール

ツール→Nugetパッケージマネージャー→ソリューションのNuGetパッケージの管理を選択

 

log4netを検索し、ヒットしたら、チェックボックスをいれてインストールを実行

 

AssemblyInfo.csの設定

log4netのログ出力形式の設定をApp.configに持たせる場合は、AssemblyInfo.csに対して、次のように追記する。

・・・・
//最下行に追加
//log4netの設定。App.configに設定を持たせる場合
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
//log4netの設定。任意のファイルに設定を持たせる場合
//[assembly: log4net.Config.XmlConfigurator(Watch=true, ConfigFile="設定ファイルパス")]

 

ログの出力設定

App.configにログの出力設定を記述する

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup>
<appSettings>
<!--coincheck-->
<add key="coincheck-apiKey" value="i-8y7jZntVPbvey_" />
<add key="coincheck-secret" value="MrLfPHBImJ2mxGdCynzr7bAnCw0XChNO" />
</appSettings>
<!--log4netの設定ここから-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="LoggerFile" type="log4net.Appender.RollingFileAppender">
<!-- ログファイルのパス -->
<File value="C:\Logs" />
<!-- 追加書き込み -->
<appendToFile value="true" />
<!-- 日付ごとにファイルを作成 -->
<rollingStyle value="date" />
<!-- ログ・ファイル名が固定ではない場合、falseを指定する -->
<staticLogFileName value="false" />
<!-- ファイル名の設定 -->
<datePattern value='"."yyyyMMdd".log"' />
<layout type="log4net.Layout.PatternLayout">
<!-- ログの書式 -->
<conversionPattern value="%d[%t] %p - %m%n"/>
</layout>
</appender>
<root>
<level value="All" />
<!-- どのログ出力先を使用するか -->
<appender-ref ref="LoggerFile" />
</root>
</log4net>
<!--log4netの設定ここまで-->
</configuration>

 

ログの出力

    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();
}

以上です。

ABOUT ME
こふそ
東京でIT会社員しています。 将来の夢は誰かを幸せにすることです。仮想通貨投資に興味があります。 いろんなことを学べればいいなと思っています。