テスト環境では、デバッグログが有効になっているので、詳細なデバッグログメッセージが表示されます。運用環境では、デフォルトでデバッグログを無効にしたいが、必要に応じてデバッグログを有効/無効にしたい。Log4net:実行時にデバッグログを有効にするには?
アプリケーションを再起動せずに、実行時にデバッグログを有効にすることはできますか?私のログコードは以下のようになります。
if(logger.IsDebugEnabled) Logger.Debug("debug message");
テスト環境では、デバッグログが有効になっているので、詳細なデバッグログメッセージが表示されます。運用環境では、デフォルトでデバッグログを無効にしたいが、必要に応じてデバッグログを有効/無効にしたい。Log4net:実行時にデバッグログを有効にするには?
アプリケーションを再起動せずに、実行時にデバッグログを有効にすることはできますか?私のログコードは以下のようになります。
if(logger.IsDebugEnabled) Logger.Debug("debug message");
あなたがそれを設定することで、ログレベルを変更して、新しい設定を適用することができます。これを行うための
((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Level = Level.Debug;
((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).RaiseConfigurationChanged(EventArgs.Empty);
通常の方法での変更を監視するようにlog4netを得ることですapp.configファイルまたは設定ファイル。
例えば
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
または
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logConfigFilename));
属性を使用すると、デフォルトの設定は、ログオフ設定するように構成することができます。
その後、設定ファイルの変更は、プログラムを再起動する必要なくすぐに有効になります。