0
这让我疯狂了......我花了半天的时间试图把所有的东西都弄出来,但是我不能让log4net吐出关于NHibernate的任何东西。另一个log4net,流利的nhibernate配置问题
这是我目前的功能NHibernate配置:
var configuration = Fluently.Configure()
.Database(SQLiteConfiguration.Standard.UsingFile(AppConstants.PATH_FILENAME_DB))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<...>())
[...Mappings...]
.Diagnostics(x => x.Enable());
我的app.config:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="data/log/unprocessed.log"/>
<param name="AppendToFile" value="true"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
<logger name="NHibernate.SQL" additivity="false">
<level value="ALL"/>
<appender-ref ref="LogFileAppender"/>
</logger>
<root>
<level value="INFO"/>
<appender-ref ref="LogFileAppender"/>
</root>
</log4net>
我可以登录的东西之后我初始化主要形式有:
log4net.Config.XmlConfigurator.Configure();
logger.Info("Here is a debug log!!");
而且它工作100%。但是我无法从Nhibernate中获得任何东西。
我已经试过:
- 设置在我的功能NHibernate配置=> SQL ShowSql()出现在VS控制台。
- 添加NHibernate的记录
- 使用是ConsoleAppender,而不是LogFileAppender
- 重新编译功能NHibernate(输出虽然我得到了应用常规日志仍然没有SQL)去除加
- ,尝试了3个不同版本的log4net的..
我的流利Nhibernate映射是好的,我的应用程序工作完美无需log4net。
我仍然无法登录NHibernate的任何查询...不知道发生了什么,但如果你有线索我会很乐意尝试一下!
谢谢!
你使用哪个版本的NHibernate? NHibernate.dll与log4net.dll在同一个文件夹中? – Firo
检查您在主要项目中引用的log4net版本是否与NHibernate引用的版本相同。 –
感谢您的意见球员。我使用最新版本的NHibernate(3.3.0.4)和位于其测试文件夹中的log4net dll(1.2.10)(因为NHibernate不再具有log4net依赖)。我在.net 4.0中使用NHibernate 3.3.0.4的DLL重新编译了FluentNhibernate,并在我的应用程序中使用了所有3个DLL。是的,所有的DLL都在同一个文件夹中。 – karlipoppins