6

Log4Net を使用して、IIS 6 でデプロイされた WCF アプリケーションからログを記録しようとしています。ファイルにログを記録しようとしていますが、ログ ファイルを作成することはできないようです。ログ出力を確認することはできません。web.config の関連部分は次のとおりです。

<sectionGroup name="common">
    <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
...
<common>
    <logging>
        <factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
            <arg key="level" value="INFO" />
            <arg key="showLogName" value="true" />
            <arg key="showDataTime" value="true" />
            <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
        </factoryAdapter>
    </logging>
</common>

<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="c:\logs\ApplicationInfoTest.log" />
        <threshold value="INFO" />
        <param name="AppendToFile" value="true" />
        <param name="DatePattern" value="ddMMyyyy" />
        <param name="MaxSizeRollBackups" value="10" />
        <param name="MaximumFileSize" value="10MB" />
        <param name="RollingStyle" value="Size" />
        <param name="StaticLogFileName" value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <param name="Header" value="\r\n\r\n---------------------------------------------\r\n" />
            <param name="Footer" value="\r\n---------------------------------------------\r\n\r\n" />
            <param name="ConversionPattern" value="%d [%t] %-5p - %m%n" />
        </layout>
    </appender>
    <root>
        <level value="INFO" />
        <appender-ref ref="FileAppender" />
    </root>
  </log4net>

この構成では、DebugView の使用時にアプリケーションから INFO レベルのログが出力されるのを確認できますが、これが部分的なものではなく部分的なものであることは明らかです

web.config で設定に失敗したものはありますか? ログを書き込むために作成したディレクトリの権限の問題ですか?

明らかな間違いを指摘してください。

4

5 に答える 5

8

また、log4net を機能させるために、この行をアプリケーションの AssemblyInfo.cs ファイルに追加する必要がありました。

// LOG 4 net config
[assembly:log4net.Config.XmlConfigurator(Watch=true)]
于 2009-02-16T18:33:22.813 に答える
2

XmlConfigurator.Configure() を試す

于 2010-03-10T07:53:39.997 に答える
0

最初に WCF サービスをコンソール アプリケーションとして実行します。このようにして、アプリケーションを実行するユーザー アカウントを指定し、問題が構成にあるのか、IIS を介してサービスを実行しているアクセス許可の問題にあるのかを確認できます。

サービスをコンソール アプリケーションとして実行する方法がわからない場合は、http: //www.jacopretorius.net/2009/08/running-windows-service-inside-console.html を参照してください。

于 2009-10-26T19:56:03.807 に答える