/// <inheritdoc /> protected override void Init() { Log4netHelper.SetComponent(this.containerName); Log4netHelper.SetVersion(); Log4netHelper.SetCommandLine(); if (this.FacilityConfig != null && this.FacilityConfig.Attributes != null) { var configFile = this.FacilityConfig.Attributes["configFile"]; if (!string.IsNullOrWhiteSpace(configFile)) { this.configFileName = configFile; } } var loggerFactory = new AbbotwareLoggerFactory(this.configFileName); AbbotwareILogger defaultLogger; if (this.defaultLoggerLevel.HasValue) { defaultLogger = loggerFactory.Create(this.defaultLogName, this.defaultLoggerLevel.Value); } else { defaultLogger = loggerFactory.Create(this.defaultLogName); } this.KernelWiring(loggerFactory, defaultLogger); }
/// <summary> /// Initializes a new instance of the <see cref="AbbotwareLoggerResolver" /> class. /// </summary> /// <param name="loggerFactory">logger factory</param> /// <param name="name">name of logger</param> public AbbotwareLoggerResolver(AbbotwareLoggerFactory loggerFactory, string name) { Abbotware.Core.Arguments.NotNull(loggerFactory, nameof(loggerFactory)); Abbotware.Core.Arguments.NotNull(name, nameof(name)); this.loggerFactory = loggerFactory; this.logName = name; }
/// <summary> /// refactored for to disable code contract verifications /// </summary> /// <param name="loggerFactory">factory to register</param> /// <param name="defaultLogger">logger name</param> private void KernelWiring(AbbotwareLoggerFactory loggerFactory, AbbotwareILogger defaultLogger) { this.Kernel.Register(Component.For <ILoggerFactory>().NamedAutomatically("castleiloggerfactory").Instance(loggerFactory)); this.Kernel.Register(Component.For <AbbotwareLoggerFactory>().NamedAutomatically("abbotwareloggerfactory").Instance(loggerFactory)); this.Kernel.Register(Component.For <AbbotwareILogger>().NamedAutomatically("abbotwareilogger.default").Instance(defaultLogger)); this.Kernel.Register(Component.For <CastleILogger>().NamedAutomatically("castleilogger.default").Instance((CastleILogger)defaultLogger)); this.Kernel.Register(Component.For <Log4netILog>().NamedAutomatically("log4netilog.default").Instance((Log4netILog)defaultLogger)); this.Kernel.Resolver.AddSubResolver(new AbbotwareLoggerResolver(loggerFactory, this.defaultLogName)); }
/// <summary> /// Initializes a new instance of the <see cref="AbbotwareLoggerResolver" /> class. /// </summary> /// <param name="loggerFactory">logger factory</param> public AbbotwareLoggerResolver(AbbotwareLoggerFactory loggerFactory) : this(loggerFactory, string.Empty) { Abbotware.Core.Arguments.NotNull(loggerFactory, nameof(loggerFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="AbbotwareLogger" /> class. /// </summary> /// <param name="logger">Log4net's ILogger</param> /// <param name="factory">logger factory</param> public AbbotwareLogger(Log4netILogger logger, AbbotwareLoggerFactory factory) { this.logger = Arguments.EnsureNotNull(logger, nameof(logger)); this.factory = Arguments.EnsureNotNull(factory, nameof(factory)); }
/// <summary> /// Initializes a new instance of the <see cref="AbbotwareLogger" /> class. /// </summary> /// <param name="log">Log4net's ILog</param> /// <param name="factory">logger factory</param> public AbbotwareLogger(Log4netILog log, AbbotwareLoggerFactory factory) : this(log.Logger, factory) { }