2016-10-21 9 views
0

テスト環境では、デバッグログが有効になっているので、詳細なデバッグログメッセージが表示されます。運用環境では、デフォルトでデバッグログを無効にしたいが、必要に応じてデバッグログを有効/無効にしたい。Log4net:実行時にデバッグログを有効にするには?

アプリケーションを再起動せずに、実行時にデバッグログを有効にすることはできますか?私のログコードは以下のようになります。

if(logger.IsDebugEnabled) Logger.Debug("debug message"); 

答えて

1

あなたがそれを設定することで、ログレベルを変更して、新しい設定を適用することができます。これを行うための

((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Level = Level.Debug; 
((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).RaiseConfigurationChanged(EventArgs.Empty); 
1

通常の方法での変更を監視するようにlog4netを得ることですapp.configファイルまたは設定ファイル。

例えば

[assembly: log4net.Config.XmlConfigurator(Watch=true)] 

または

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logConfigFilename)); 

属性を使用すると、デフォルトの設定は、ログオフ設定するように構成することができます。

その後、設定ファイルの変更は、プログラムを再起動する必要なくすぐに有効になります。

関連する問題