Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Fluent-NHibernate和NLog_C#_Nhibernate_Fluent Nhibernate_Nlog_Onion Architecture - Fatal编程技术网

C# Fluent-NHibernate和NLog

C# Fluent-NHibernate和NLog,c#,nhibernate,fluent-nhibernate,nlog,onion-architecture,C#,Nhibernate,Fluent Nhibernate,Nlog,Onion Architecture,我的流畅配置中出现了一些模糊的错误。我已经读到设置日志解决方案将帮助我关注这个问题。我想使用NLog。我知道我需要使用Common.Logging 2.0和NHibernate.IInterfaceLogger来启动和运行它。我只是不知道如何把这些片段组合起来。我的系统基于洋葱架构。我已经为NLog设置了日志记录服务,我也为它设置了接口,但我只是有点困惑,我应该在哪里将所有这些绑定在一起。我的Fluent NHibernate配置存在于我的数据项目中。我想我会把这一切都绑在一起 任何关于这方面的

我的流畅配置中出现了一些模糊的错误。我已经读到设置日志解决方案将帮助我关注这个问题。我想使用NLog。我知道我需要使用Common.Logging 2.0和NHibernate.IInterfaceLogger来启动和运行它。我只是不知道如何把这些片段组合起来。我的系统基于洋葱架构。我已经为NLog设置了日志记录服务,我也为它设置了接口,但我只是有点困惑,我应该在哪里将所有这些绑定在一起。我的Fluent NHibernate配置存在于我的数据项目中。我想我会把这一切都绑在一起

任何关于这方面的想法都会很棒!我有点迷路了

nuget软件包就是这样做的。我现在在一个项目中使用它

为了完整性,或者如果该包消失或者用户不使用nuget。 您可以将其添加到FluentConfiguration中:

.ExposeConfiguration(c =>
    {
        c.SetProperty(@"nhibernate-logger", @"Microfilm.Core.NLogFactory, Microfilm.Core");
    })

实现
ILoggerFactory
以返回实现
IInternalLogger
的类。
IInternalLogger
方法中包含的内容非常简单;您只是将NHibernate记录器的调用桥接到NLog调用。

不确定NLog。但只要您将log4net添加到引用和配置中。NHibernate很乐意使用它。使用log4net。log4net支持嵌入在NH中,但许多人在配置它时遇到了很多麻烦-我当然遇到了。基于下面的答案,NLog看起来简单多了(我自己还没有尝试过),你用Fluent配置测试过吗?它对我不起作用,
NHibernate.LoggerProvider
的源代码显示它独家从应用程序设置获取记录器工厂的类。没有退回到NHibernate配置的方法,因此
config.SetProperty
可能无法工作。关于
.ExposeConfiguration
的部分是FluentNHibernate。我使用的是FluentNHibernate v1.3和NHibernate 3.2,正如在其他一些帖子中提到的,ExposeConfiguration对我没有任何帮助。但是我把它添加到web.config中的appSettings中,效果很好:我很想知道为什么.ExposeConfiguration在某些情况下不起作用。它是FluentConfiguration类中的一个方法