log4netでログ出力 - VB
ログ出力にはlog4netというものを使うと良いらしい
プロジェクトに追加
プロジェクトに追加する方法は2つある(他にもあるかも)
- Webからダウンロードし、追加
- NuGetパッケージマネージャーを使用し、追加
Webからダウンロードし、追加
ここから「log4net-2.0.8-bin-newkey.zip」をダウンロードし、解凍。
log4net-2.0.8\bin\net\4.5\release
内にある以下の2つを任意の箇所(C:\temp\ など)にコピーする。
- log4net.dll
- log4net.xml
次に、参照に追加する。プロジェクト>参照に追加>参照>参照ボタン でlog4net.dll
を選択し、OKを押す。ソリューションエクスプローラーにlog4net
が表示されれば参照の追加ができている。
NuGetパッケージマネージャーを使用し、追加
VisualStudioの プロジェクト > NuGet パッケージの管理 > 参照 > log4net
で検索 > クリックし、インストールを行う。
終わり!!簡単!!!!
設定ファイルの指定
次に、設定ファイルを指定する。My Project\AssemblyInfo.vb
の最後の行に以下の記述を追加する
<Assembly: log4net.Config.XmlConfigurator(Watch:=True)>
ログの設定を記述
次に、ログの設定を記述する。log4netの設定はApp.config
に記述する。こちらを参考にしてみた。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <appender name="LogToFile" type="log4net.Appender.RollingFileAppender"> <!-- 作成するログファイル --> <file value=".\MyLog.log" /> <!-- 追加で書き込みをする --> <appendToFile value="true" /> <!-- 出力フォーマットを指定 --> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d[%t] %p - %m%n"/> </layout> </appender> <root> <!-- すべてのログを出力したい場合 --> <level value="All" /> <!-- どのログ出力先を使用するか --> <appender-ref ref="LogToFile" /> </root> </log4net> </configuration>
ログを出力する
Imports log4net ... Private logger As ILog = LogManager.GetLogger( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType) ... logger.Debug("debug!")
Private logger As ILog = LogManager.GetLogger( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
の部分でロガーを生成する。あとはこれを使って、ログを出力する
参考文献
[log4net] ダウンロードからログ出力までの手順 – .NETちょこっとリファレンス [log4net] log4netの設定 | HIRO's.NET Blog