【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(); }
以上です。