【发布时间】:2016-01-15 02:18:53
【问题描述】:
我遵循了this 教程,并且能够让这两个项目都与我的 sql server 2012 实例一起工作:
但是,当我在 my 解决方案中包含 HLogger 项目(而不是与上面的示例项目一起使用)时,它确实有效。
以下是从提供的示例项目运行时对我有用的代码 sn-p;但是,当我将此库添加到自己的解决方案中时,它不起作用。
ILog log = log4net.LogManager.GetLogger("NHibernateLogging");
log.Error("Error!", new Exception("Exception123"));
log.Warn("Warning");
什么也没发生。什么都没扔。未填充数据库。我正在使用与提供的相同的 hibernate.cfg.xml 文件(并与“示例项目”结合使用):
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">
NHibernate.Connection.DriverConnectionProvider
</property>
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="connection.connection_string">
Server=------.net;database=mydb;user id=myuser;password=sdofjosidfjoijsf;persist security info=true;
</property>
<property name="dialect">
NHibernate.Dialect.MsSql2000Dialect
</property>
<property name="show_sql">
true
</property>
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
唯一的更改是对 app.config 文件的更改。以前是:
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />
现在是:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
原因是我不能在同一个解决方案中拥有多个版本的 log4net,而且我没有选择我当前的 log4net 版本,因为它能够使用 msmq 记录第 2 版的 masstransit。
codeproject 站点中的项目是为 .NET 3.5 创建的,而我的解决方案是 .net 4.5。
如何诊断无法在数据库中使用 log4net 记录任何内容的原因?
【问题讨论】:
标签: c# .net nhibernate log4net