【问题标题】:Empty NHibernate log file with log4net使用 log4net 清空 NHibernate 日志文件
【发布时间】:2009-11-02 16:31:36
【问题描述】:

我正在尝试使用 Fluent NHibernate 和 log4net 在我的应用程序上启用日志记录。我已经尝试过herehereherehere 描述的内容。正在创建日志文件,但没有写入任何内容。这个和其他应用程序的其他日志文件都可以正常工作,所以我假设问题出在我的配置上。

这是我为使其正常工作而设置的代码:

配置文件的部分,其中包含我与此 APP 相关的所有 log4net 设置:

<appender name="RollingFileAppenderNHibernate"
        type="log4net.Appender.RollingFileAppender">
    <file value="C:\temp\RollingLogFileNHibernate" />
    <appendToFile value="true" />
    <ImmediateFlush value="true" />
    <rollingStyle value="Date" />
    <DatePattern value="yyyyMMdd.\l\o\g" />
    <StaticLogFileName value="false" />
    <MaxSizeRollBackups value="1" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>
<logger name="NHibernate.SQL"
        additivity="false">
    <level value="ALL"/>
    <appender-ref ref="RollingFileAppenderNHibernate"/>
</logger>

我的 NHibernate 配置:

public static ISessionFactory CreateSessionFactory()
{
    return Fluently.Configure()
        .Database(OracleClientConfiguration.Oracle10
        .ConnectionString((conn =>
            conn.FromConnectionStringWithKey("APPDB")))
        .ShowSql())
        .Mappings(m =>
            m.FluentMappings.AddFromAssemblyOf<{ObjectName}>())
        .BuildSessionFactory();
}

在我的 Global.asax.cs 的 Application_Start() 中:

log4net.Config.XmlConfigurator.Configure();

我尝试了这些设置的几种不同变体,但结果始终相同,一个空的日志文件。

【问题讨论】:

  • 这真的是您的全部配置吗?如果没有 元素,它肯定无法工作。
  • 不,这不是我的全部配置,而是与这个APP相关的部分。我更新了这个问题,让这个事实更加清楚。

标签: nhibernate fluent-nhibernate log4net


【解决方案1】:

如果 XML 是您配置的真正代表,我可以看到两个潜在问题:

  1. appender 开始标记的末尾没有“>”。
  2. 有 >在布局结束标记的末尾而不是“>”。

当然,这些可能只是由于复制粘贴到这篇文章中造成的。

【讨论】:

  • 谢谢,那些是复制和粘贴错误。我现在已经更正了。
【解决方案2】:

事实证明,问题与在我们围绕 log4net 包装的框架代码中处理日志的方式过于复杂和令人费解有关。一旦我找出正确的箍来跳过日志记录开始正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多