log4net
とりあえず最近よく使うので俺様標準設定のメモ
AssemblyInfo.vb
<Assembly: log4net.Config.XmlConfigurator(Watch:=True,ConfigFile:="log4net.config")>
log4net.config
<?xml version="1.0" encoding="utf-8" ?> <!-- [log4net.config] --> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <appSettings> <!-- log4net 内部のデバッグメッセージを出力 --> <add key="log4net.Internal.Debug" value="true" /> </appSettings> <log4net> <!-- コンソール出力用 (VS 上 [出力] ウインドウへの出力) --> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <!-- 出力文字列のフォーマット --> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="@%-5level >> %message%newline" /> </layout> </appender> <!-- ファイル出力用 --> <appender name="DailyFileAppender" type="log4net.Appender.RollingFileAppender"> <!-- ログファイルの切替 { サイズ: Size, 日付: Date } --> <param name="RollingStyle" value="Date" /> <!-- ファイル名 --> <param name="File" value="log/" /> <!-- ファイル名に付加する日付パターン --> <param name="DatePattern" value='yyMMdd".log"' /> <!-- ファイル名の固定 --> <param name="StaticLogFileName" value="false" /> <!-- ファイル書き込み { 追記: true, 上書き: false } --> <param name="AppendToFile" value="true" /> <!-- 最大保存ファイル数 (古い順に削除) --> <param name="MaxSizeRollBackups" value="10" /> <!-- 出力文字列のフォーマット --> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d %-5p - %m%n" /> </layout> <!-- 出力するログ レベルのフィルタ --> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="INFO" /> <levelMax value="FATAL" /> </filter> </appender> <!-- イベント ログ出力用 --> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> <!-- イベント ログ上のアプリケーション名 --> <applicationName value="AppName" /> <!-- 出力文字列のフォーマット --> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5level %date{yyyy/MM/dd_HH:mm:ss,fff} [%thread] %logger [%property{NDC}] - %message%newline" /> </layout> <!-- 出力するログ レベルのフィルタ --> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender> <!-- デフォルトの出力設定 --> <root> <level value="ALL" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="DailyFileAppender" /> <appender-ref ref="EventLogAppender" /> </root> </log4net> </configuration>
後はFormに以下を追加すればOK
Imports log4net .... Private Shared ReadOnly log As log4net.ILog = _ log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)