nhibernate - 配置 Nhibernate 日志到文件中

标签 nhibernate log4net common.logging

我已经以编程方式从配置文件创建 log4net 日志:

var properties = new NameValueCollection
            {
                {"configType", "FILE"},
                {"configFile", @"c:/log4net.config"}
            };
Common.Logging.LogManager.Adapter = new Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter(properties);

这是我的log4net.config (为简单起见,按照鸽子的建议进行了编辑):

<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="c:/log.log" />
    <appendToFile value="true" />
    <maximumFileSize value="100KB" />
    <maxSizeRollBackups value="5" />

    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d [%t] %-5p %c - %m%n" />
    </layout>
</appender>

<root>
    <level value="All" />
    <appender-ref ref="RollingFile" />  
</root> 
<logger name="NHibernate">
    <level value="All" />
    <appender-ref ref="RollingFile" />
</logger>       

</log4net>

我让 Spring.NET 成功登录到该文件,但 NHibernate 却失败了。 Nhibernate配置流畅:

protected override void PostProcessConfiguration(Configuration config)
{           
    base.PostProcessConfiguration(config);
        var msSqlCfg = MsSqlConfiguration.MsSql2000.ConnectionString(ConnectionString)
            .ShowSql();

        Fluently.Configure(config).Database(msSqlCfg)
                .Mappings(m => m.FluentMappings.Add<EmployeeMap>())
                // Other mappings            
                .BuildSessionFactory();
    }

我应该修复什么才能让 Nhibernate 日志正常工作?

最佳答案

如果生成统计信息,它会记录吗?

Configuration.ExposeConfiguration(c => 
            c.SetProperty("generate_statistics", "true"));

为了缩小范围,您可以从记录器中删除可加性标志和附加器,然后只记录一个来开始,即完全像这样

<logger name="NHibernate">
  <level value="ALL" />
</logger>

关于nhibernate - 配置 Nhibernate 日志到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442114/

相关文章:

nhibernate - NHibernate体系结构?

nhibernate - 多对多集合中的 Nhibernate 和 Fluent Nhibernate 的内连接或右外连接

log4net,这个配置怎么了

c# - log4net 每分钟创建一个新日志

c# - 常见的日志记录 log4net file-watch

c# - 从 NHibernate 获取 {"could not execute batch command.[SQL: SQL not available]"} 错误

c# - 理解nhibernate映射中的递归关系

c# - 未创建日志文件?

web-config - 如何配置与 Log4Net 集成的 Quartz.Net 版本 2.1.2.0