Use Microsoft.Extensions.Logging as NHibernate logging provider
dotnet add package NHibernate.Extensions.Logging
Console App
// ...
services.AddSingleton<ISessionFactory>(resolver =>
{
var env = resolver.GetRequiredService<IHostEnvironment>();
if (env.IsDevelopment())
{
var loggerFactory = resolver.GetRequiredService<Microsoft.Extensions.Logging.ILoggerFactory>();
loggerFactory.UseAsNHibernateLoggerProvider();
}
// ...
// return ISessionFactory implementation
});
ASP.NET Core
public class Startup
{
// ...
public ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ISessionFactory>(resolver =>
{
var env = resolver.GetRequiredService<IWebHostEnvironment>();
if (env.IsDevelopment())
{
var loggerFactory = resolver.GetRequiredService<Microsoft.Extensions.Logging.ILoggerFactory>();
loggerFactory.UseAsNHibernateLoggerProvider();
}
// ...
// return ISessionFactory implementation
});
// ...
}
}
ASP.NET Core Minimal APIs
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<ISessionFactory>(resolver =>
{
var env = resolver.GetRequiredService<IWebHostEnvironment>();
if (env.IsDevelopment())
{
var loggerFactory = resolver.GetRequiredService<Microsoft.Extensions.Logging.ILoggerFactory>();
loggerFactory.UseAsNHibernateLoggerProvider();
}
// ...
// return ISessionFactory implementation
});
// ...