【问题标题】:NHibernate Doesn't Log ErrorsNHibernate 不记录错误
【发布时间】:2013-07-25 17:37:47
【问题描述】:

我收到一个 NHibernate 异常,我想尝试获取更多信息,但它似乎没有记录错误。我实际上希望获得更详细的错误信息,但发现了根本不记录错误的初始问题。
这是我的配置文件中的 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”条目。有什么建议?谢谢!

【问题讨论】:

    标签: nhibernate log4net


    【解决方案1】:

    如果您将其添加到您的 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 本身可能存在的任何问题,例如尝试配置您的附加程序。

    【讨论】:

    • 谢谢@Digbyswift,我会试试看的。
    • 老鼠!看起来一切都配置好了 - 至少对于那个 appender 来说(你的提示确实发现了另一个 appender 的问题)。
    • 还检查了 2 c,如果我在使用 NH 的代码中流利地做任何会与我的配置文件设置发生冲突的事情,但没有找到任何东西......
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多