NHibernate y NLog fluidos
Frecuentes
Visto 3,036 veces
4
Tengo problemas con algunos errores vagos que aparecen en mi configuración fluida. He leído que configurar una solución de registro me ayudará a concentrarme en el problema. Me gustaría usar NLog. Entiendo que necesito usar Common.Logging 2.0 y NHibernate.IInterfaceLogger para ponerlo en funcionamiento. No estoy seguro de cómo juntar las piezas. Mi sistema se basa en la Arquitectura Cebolla. Tengo mi servicio de registro configurado para NLog y tengo mi interfaz para él, pero estoy un poco confundido sobre dónde debo vincular todo esto. Mi configuración Fluent NHibernate existe en mi proyecto de datos. Supongo que me gustaría unir todo esto allí.
¡Cualquier pensamiento sobre esto sería increíble! Estoy un poco perdido!
1 Respuestas
6
NHibernate.NLog paquete nuget hace esto. Lo uso en un proyecto ahora.
En aras de la integridad o si ese paquete desaparece alguna vez o el usuario no usa nuget. Agregas esto a tu FluentConfiguration:
.ExposeConfiguration(c =>
{
c.SetProperty(@"nhibernate-logger", @"Microfilm.Core.NLogFactory, Microfilm.Core");
})
Implementar ILoggerFactory
para devolver una clase que implementa IInternalLogger
. Es bastante sencillo qué incluir en el IInternalLogger
métodos; solo está conectando las llamadas del registrador NHibernate a las llamadas NLog.
Respondido el 12 de junio de 12 a las 18:06
¿Probaste esto con Fluent Configuration? No funciona para mí y el código fuente de NHibernate.LoggerProvider
muestra que obtiene la clase de la fábrica de registradores de la configuración de la aplicación exclusivamente. No hay respaldo a la configuración de NHibernate, por lo que config.SetProperty
no puede funcionar. - daniel hilgarth
ese poco sobre .ExposeConfiguration
is FluentNHibernate. Estoy usando FluentNHibernate v1.3 y NHibernate 3.2 - tostadas caseras
Como se mencionó en otras publicaciones, ExposeConfiguration no hizo nada por mí. Pero agregué esto a appSettings en web.config y funcionó bien: - Papa Borgoña
Tengo curiosidad por saber por qué .ExposeConfiguration no funciona para algunos. Es un método en la clase FluentConfiguration - tostadas caseras
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# nhibernate fluent-nhibernate nlog onion-architecture or haz tu propia pregunta.
no estoy seguro acerca de NLog. pero tan pronto como agregue log4net a las referencias y configure. A NHibernate le encantará usarlo. ir a log4net. debe ser el registrador preferible IMO. - DarthVader
El soporte de log4net está integrado en NH, pero muchas personas tienen muchos problemas para configurarlo, yo ciertamente lo hice. NLog parece mucho más simple, según las respuestas a continuación (no lo he probado yo mismo... todavía). - Tom Bushell