How NHibernate implements optional log4net logging

I remember the days (not so long ago, really) when log4net came along with NH and was mandatory for OR-Mapper. Currently, this is not necessary, but not necessary.

I'm really curious how NHibernate accomplishes this. If anyone could explain in a few words, that would be much appreciated!

+4
source share
2 answers

NHibernate has an ILoggerFactory for creating a registrar, as follows:

public interface ILoggerFactory
    {
        IInternalLogger LoggerFor(string keyName);
        IInternalLogger LoggerFor(System.Type type);
    } 

IInternalLogger, , , , ILog log4net. NH factory, . , log4net , factory log4net. , factory :

 <appSettings>
        <add key="nhibernate-logger" 
                  value="MyLoggingLoggerFactory, MyLoggingAssembly"/>
    </appSettings>

, MyLoggingLoggerFactory ILoggerFactory. , IInternalLogger, , , , . , log4net. , , log4net : NH .

+9

NHibernate log4net.dll. , , log4net.

, CLR log4net, , NHibernate log4net, . . NHibernate.Log4NetLogger NHibernate.Log4NetLoggerFactory, , .

+1

All Articles