2016-07-19 12 views
0

私はlog4netをいくつかのチュートリアルに従い、問題が発生した人に関する多くの記事を読むことで、正しく動作させることができないので、log4netを使用しようとしています。log4netからの出力がありません

私は私の.configファイル

<configSections> 
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
     <file value="log4net.log" /> 
     <appendToFile value="true" /> 
     <maximumFileSize value="500KB" /> 
     <maxSizeRollBackups value="2" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="All" /> 
     <appender-ref ref="RollingFile" /> 
    </root> 
    </log4net> 

の上にこの部分の権利を持っている私は私のAssemblyInfoファイルに

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)] 

をこの行を追加し、この

のようにMTサービス内のロガーを使用してみました
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 

または

private static ILog Log = LogManager.GetLogger(typeof(MyService)); 

ファイルは作成されていません。何も起こっていないことを示すものではありません。

このロガーを正しく使用するにはどうすればよいですか?

+0

@fuboはい質問にその行のコードを追加すると便利ではないと思っていましたが、そこに何らかのエラーがあったことは間違いありません。 – dearn44

+0

あなたのアプリケーションはログディレクトリへの書き込みアクセス権を持っていますか? – fubo

+0

はい、私は様々な場所を試しましたが、少なくとも「Temp」ではそれがわかります。 – dearn44

答えて

1

log4net DebugAppenderを作成して、Visual Studioの出力ウィンドウにlog4netの出力を表示します。このウィンドウには、問題の兆候が示されます。

<appSettings> 
    <!-- log4net configuration when running in debug mode. -->  
    <add key="log4net.Internal.Debug" value="true" /> 
</appSettings> 

がlog4net.configに新しいデバッグアペンダを追加します:

はapp.configに追加

<appender name="DebugAppender" type="log4net.Appender.DebugAppender"> 
    <immediateFlush value="true" /> 
    <layout type="log4net.Layout.SimpleLayout" /> 
</appender> 

そしてlog4net.configルートに新しいアペンダを追加します。

<root> 
    <level value="ALL" /> 
    <appender-ref ref="RollingFile" /> 
    <appender-ref ref="DebugAppender" /> 
</root> 

log4netの内部ログを表示するには、アプリケーションを実行してVisual Studio出力ウィンドウを表示します。出力がない場合、log4net.configファイルは決してロードされません。

+0

私のすべてのログレベルが設定されているようです偽では、私はロガーの設定を正しく見つけることができません。 – dearn44

関連する問題