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)