Запуск этого примера веб-приложения ASP.NET Core с Visual Studio 2017 и NHibernate 5.2.4
. Настроен так:
public NhibernateSessionFactory(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, IAppConfig config)
{
NHibernateLogger.SetLoggersFactory(new
NHibernateToMicrosoftLoggerFactory(loggerFactory));
Configuration = new Configuration();
Configuration.DataBaseIntegration(db =>
{
db.ConnectionString = config.SqlConnectionString;
db.Dialect<MsSql2008Dialect>();
db.Driver<Sql2008ClientDriver>();
db.AutoCommentSql = false;
db.LogSqlInConsole = false;
db.LogFormattedSql = false;
}).AddMapping(domainMapping);
Приложение работает нормально, но выходные данные ASP.NET Core Web Server сильно заполнены отладочными записями из NHibernate, вот небольшая выборка вывода:
dbug: NHibernate.AdoNet.ConnectionManager[0]
After autocommit
dbug: NHibernate.Impl.SessionImpl[0]
transaction completion
dbug: NHibernate.Event.Default.DefaultLoadEventListener[0]
dbug: NHibernate.Impl.SessionFactoryImpl[0]
Instantiated session factory
dbug: NHibernate.Impl.SessionFactoryImpl[0]
Checking 0 named HQL queries
dbug: NHibernate.Impl.SessionFactoryImpl[0]
Checking 0 named SQL queries
dbug: NHibernate.Impl.SessionFactoryImpl.SessionBuilderImpl[0]
Opening Hibernate Session.
dbug: NHibernate.Impl.SessionImpl[0]
[session-id=9702f8cd-942c-48ca-b68f-c8f1f7e012fb] opened session at timestamp: 636891853094, for session factory: [(null)/e85a992abde44debab0abed34c563e68]
При запуске приложения в режиме Release
записи dbug
по-прежнему отображаются. В любом случае, чтобы отключить их?
Обновление: Комментирование этой строки работает, но является ли это рекомендуемым подходом?
NHibernateLogger.SetLoggersFactory(new NHibernateToMicrosoftLoggerFactory(loggerFactory));