/// <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));
 }
예제 #5
0
 /// <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));
 }
예제 #6
0
 /// <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)
 {
 }