0

こんにちは、私は Windows アプリケーションで log4net を使用しています。以下は app.confige ファイルの内容です。私のapp.configeファイルには2つのタグがあり、アプリケーションで動作するには両方が必要です。しかし、問題は、その場合に両方のタグを含めると、ログがapplication.logファイルに作成されないのに対し、ランタイムとアセンブリタグのみをコメントすると、ログはapplication.logファイルに作成されますが、コメントアウトするとランタイムおよびアセンブリ タグは、アプリケーションの他の機能を実装できません。

解決策を教えてください。

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin"/>
    </assemblyBinding>
  </runtime>
  <assemblies>
    <add assembly="ImageGear19.Core"/>
  </assemblies>
  <!--The settings below are required for Logging-->
  <log4net>
    <appender name="Application" type="log4net.Appender.RollingFileAppender">
      <file value="Application.log"/>
      <appendToFile value="true"/>
      <maxSizeRollBackups value="10"/>
      <maximumFileSize value="2 MB"/>
      <rollingStyle value="Size"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date[%thread](%-5level): %message%newline"/>
      </layout>
    </appender>
    <logger name="Application">
      <level value="All"/>
      <appender-ref ref="Application"/>
    </logger>
  </log4net>
4

2 に答える 2

1

個人的には、最初の 2 つのタグを処理するロジックに関連するエラーがいくつかあります。log4net が初期化された時点でデバッグすることをお勧めします。

于 2012-08-07T06:40:34.957 に答える
1

log4net をデバッグする最善の方法は、内部エラー ログを有効にすることです。これにより、すべての動作がログに記録され、問題の原因を突き止めるのに役立ちます。

これは、log4netで内部ログを有効にする方法に関する同様のスレッドと説明です

これをアプリの設定に追加します

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
</configuration>

これをweb.configの一番下に追加します

<configuration>
    ...
    <system.diagnostics>
        <trace autoflush="true">
            <listeners>
                <add 
                    name="textWriterTraceListener" 
                    type="System.Diagnostics.TextWriterTraceListener" 
                    initializeData="C:\temp\log4net.txt" />
            </listeners>
        </trace>
    </system.diagnostics>
    ...
</configuration>
于 2012-08-07T06:34:41.900 に答える