0

詳細情報を取得したい NHibernate 例外が発生しましたが、エラーがログに記録されていないようです。実際には、より詳細なエラー情報を取得しようとしていましたが、エラーをまったくログに記録しないという最初の問題を発見しました。
これが、ROM構成ファイルからの私のlog4netセクションです。

<log4net>
<appender name="NHibernateAppender" type="log4net.Appender.RollingFileAppender">
  <file value=".\\Logs\\NHibernate.log" />
  <appendToFile value="true" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10000KB" />
  <rollingStyle value="Size" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <header value="[Header]&#xD;&#xA;" />
    <footer value="[Footer]&#xD;&#xA;" />
    <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
  </layout>
</appender>
<appender name="NHibernateSQLAppender" type="log4net.Appender.RollingFileAppender">
  <file value=".\\Logs\\NHibernate.Sql.log" />
  <appendToFile value="true" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10000KB" />
  <rollingStyle value="Size" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <header value="[Header]&#xD;&#xA;" />
    <footer value="[Footer]&#xD;&#xA;" />
    <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
  </layout>
</appender>
<logger name="NHibernate" additivity="false">
  <level value="ERROR" />
  <appender-ref ref="NHibernateAppender" />
</logger>
<logger name="NHibernate.SQL" additivity="false">
  <level value="ERROR" />
  <appender-ref ref="NHibernateSQLAppender" />
</logger>
</log4net>

「ALL」も試しました。「DEBUG」と「INFO」を書き込みますが、「ERROR」エントリは書き込みません。助言がありますか?ありがとう!

4

1 に答える 1

0

これを web.config に追加すると:

<appSettings>
   ...
   <add key="log4net.Internal.Debug" value="true"/>
</appSettings>

と:

<system.diagnostics>
    <trace autoflush="true">
        <listeners>
            <add name="textWriterTraceListener" 
                type="System.Diagnostics.TextWriterTraceListener" 
                initializeData="log.txt" />
        </listeners>
    </trace>
</system.diagnostics>

これにより、log4net 自体に発生している可能性のある問題が表示されます。たとえば、アペンダーを構成しようとしている場合などです。

于 2013-07-25T17:46:34.393 に答える