1

さて、イベントログに書き込むWCFサービスがあります。

1つの詳細を除いて、すべて問題ありません。logName属性には注意が払われません。これが構成です。

    <!--EventLog Appender-->
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
        <logName value="MyCustomLog"/>
        <applicationName value="MyCustomEventSource" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
    </appender>

..そして初期化コード。

        //Create an instance of the log from the declaring type.
        var stackTrace = new StackTrace();
        var frame = stackTrace.GetFrame(0);
        log = LogManager.GetLogger(frame.GetMethod().DeclaringType);
        BasicConfigurator.Configure();

イベントログは、自分のログではなく、アプリケーションログ(MyCustomEventSource "ソースを使用)に書き込まれます。明らかに重要な点が欠けていますが、それが何であるかわかりません...実行中です。違いが生じる場合は、Win7とIIS7.5を使用してください。

どんな助けでもいただければ幸いです。

4

1 に答える 1

1

イベントソースを作成しましたか?

私はあなたのコードが機能することに驚いています:あなたはを使用する必要がありますXmlConfigurator。私の知るBasicConfigurator限り、デフォルトのコンソールロガーを構成するのは...

たぶん、このようなロガーを作成することも検討してください(よりクリーンで短いようです):

ILog log = LogManager.GetLogger(typeof(YourClass));
于 2010-08-24T12:47:01.913 に答える