12

log4netを構成する流暢な方法があるかどうかは誰でも知っています(アペンダーとアペンダーのすべてのプロパティなど...)。

xmlは私を夢中にさせています。

または、そうでない場合は、簡単に流暢に構成でき、log4netと同様の機能を提供できる適切な.Netロギングフレームワークを知っている人はいますか?

4

4 に答える 4

7

クールな乾杯、見てみます。log4netでも探していたものを見つけました。

厄介なことに、XML ファイルへの文字列のみを取得するように見える Castle Logging Facility の使用を開始しました。そのため、すべてを DSL 経由で行い、ビルド前のステップとして xml 構成を生成することを検討する必要があるかもしれません。

    private static void ConfigureLog()
    {
        var root = ((Hierarchy)LogManager.GetRepository()).Root;
        root.AddAppender(GetConsoleAppender());
        root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "standard.log", Level.Debug));
        root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "error.log", Level.Warn));
        root.Repository.Configured = true;
    }

    private static FileAppender GetFileAppender(string directory, string fileName, Level threshold)
    {
        var appender = new FileAppender
        {
            Name = "File", 
            AppendToFile = true,
            File = directory + "\\" + fileName, 
            Layout = new PatternLayout(_pattern), 
            Threshold = threshold
        };

        appender.ActivateOptions();
        return appender;
    }

    private static ConsoleAppender GetConsoleAppender()
    {
        var appender = new ConsoleAppender
        {
            Name = "Console", 
            Layout = new PatternLayout(_pattern), 
            Threshold = Level.Debug
        };

        appender.ActivateOptions();
        return appender;
    }
于 2010-01-07T12:39:16.187 に答える
1

それ以来、私はまさにこの理由でNLogに移動しました

于 2011-07-12T04:01:46.400 に答える
1

XML ベースの log4net 構成でお困りのことと存じます。しばらく前にデバッグすることに不満を感じたので、log4net 用に独自の流暢な API をまとめ始めました。github でfluent-log4netをチェックしてください。まだすべてが 100% サポートされているわけではありませんが、それは達成されつつあります。

構成を一目で確認できるため、テストがはるかに簡単になります。

于 2011-07-12T03:58:39.567 に答える
1

Microsoft の Enterprise ライブラリへの依存を気にしない場合は、Logging Application Blockを使用できます。構成は引き続き XML ですが、Visual Studio のグラフィカル インターフェイスから直接編集できます。

于 2010-01-06T13:23:36.303 に答える