Daniel Cazzulinoのブログに基づいて、勤務先の会社に共通のログライブラリを作成することを検討しています。そのため、混乱を招くことなく、1つを別のスイッチに切り替えることができます。
私が最初に使用したライブラリはlog4net
ですが、への呼び出しをどこでどのように設定するかがわかりませんXmlConfigurator
。
ログに記録されているプロジェクトにアセンブリを追加しようとしましたが、これは私が感じる演習の目的を打ち負かしますが、それはまったく機能していないようです。
log4net Loggingライブラリのアセンブリとして追加しようとしましたが、機能していないようです。
log4net.Config.XmlConfigurator.Configure();
メソッドからの呼び出しも試みましTraceManager.Get
たが、すべてのログオプション(IsDebugEnabled、IsWarnEnabled、...)が無効になっています。
public partial class TracerManager : ITracerManager
{
/// <summary>
/// Gets a tracer instance with the specified name.
/// </summary>
public ITracer Get(string name)
{
log4net.Config.XmlConfigurator.Configure();
var logger = LogManager.GetLogger(name);
return new Log4NetAdapter(logger);
}
/// The rest
}
他に何かする必要がありますか?アプリの設定はロギングライブラリにある必要がありますか?
[編集1]
とてもばかげている…。
Logging.Log4Netライブラリに追加[assembly: XmlConfigurator(Watch = true)]
しましたが、実行していたテストでアプリケーションのTracerManagerをインスタンス化していませんでした...ID-10Tangoの問題