WPF開発ノウハウ集

ログを出力する

ログにプロセスIDが表示されるように設定する

log4net.GlobalContext.Properties["pid"] = System.Diagnostics.Process.GetCurrentProcess().Id;

ログに呼出元クラス名が表示されるように設定する

private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name );

ログ出力の実装例

<クラス名>.LOG.Debug( "ログ" );

例外のログ出力の実装例

try
{
    ~
}
catch( Exception ex )
{
    <クラス名>.LOG.Error( ex );
}

出力ログレベルを動的に変更する場合の実装例

log4net.ILog log = log4net.LogManager.GetLogger( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType );
Logger logRoot = ( ( Hierarchy )log.Logger.Repository ).Root;
logRoot.Level = Level.Debug;