/// <summary> /// 获取日志记录器(为当前类找出匹配的日志记录器) /// </summary> public ILogger GetCurrentClassLogger() { var frame = new StackFrame(2); //调用日志记录器的类所在的堆栈帧 Type classType = frame.GetMethod().ReflectedType; // 查找配置中所有匹配的日志记录器 IList<ILogger> loggers = FindLoggers(classType); if (loggers.Count == 0) { return LogManager.NullLogger; } if (loggers.Count == 1) return loggers[0]; MultiLogger logger = new MultiLogger(loggers); LogLevel minLevel = LogLevel.Fatal; foreach (var logger1 in loggers) { if (logger1.MinLevel < minLevel) minLevel = logger1.MinLevel; } logger.LoadConfig(new LoggerConfig{MinLevel = minLevel, Name = "MultiLogger"}); return logger; }
/// <summary> /// 获取日志记录器(为当前类找出匹配的日志记录器) /// </summary> public ILogger GetCurrentClassLogger() { var frame = new StackFrame(2); //调用日志记录器的类所在的堆栈帧 Type classType = frame.GetMethod().ReflectedType; // 查找配置中所有匹配的日志记录器 IList <ILogger> loggers = FindLoggers(classType); if (loggers.Count == 0) { return(LogManager.NullLogger); } if (loggers.Count == 1) { return(loggers[0]); } MultiLogger logger = new MultiLogger(loggers); LogLevel minLevel = LogLevel.Fatal; foreach (var logger1 in loggers) { if (logger1.MinLevel < minLevel) { minLevel = logger1.MinLevel; } } logger.LoadConfig(new LoggerConfig { MinLevel = minLevel, Name = "MultiLogger" }); return(logger); }