代码之家  ›  专栏  ›  技术社区  ›  Dan

无法以编程方式配置log4net记录器

  •  0
  • Dan  · 技术社区  · 6 年前

    我需要配置一个log4net Logger 以编程方式。具体来说,我需要添加一个 一个附加物。然而,当我检索它时,我发现它没有正确的级别或appender,希望我错过了一些简单的配置:

            var patternLayout = new PatternLayout { ConversionPattern = "%message%newline" };
            patternLayout.ActivateOptions();
    
            var hierarchy = (Hierarchy)LogManager.GetRepository();
    
            var testAppender = new RollingFileAppender
            {
                Name = "test-appender",
                AppendToFile = true,
                File = "c:\\temp\\test.log",
                Layout = patternLayout,
                DatePattern = "yyyyMMdd-HHmm",
                MaxSizeRollBackups = 50,
                MaximumFileSize = "20MB",
                RollingStyle = RollingFileAppender.RollingMode.Size,
                StaticLogFileName = false,
                Encoding = Encoding.UTF8,
                PreserveLogFileNameExtension = true,
                Threshold = Level.Debug
            };
    
            testAppender.ActivateOptions();
    
            var testLogger = hierarchy.LoggerFactory.CreateLogger(hierarchy, "test");
            testLogger.Hierarchy = hierarchy;
            testLogger.AddAppender(testAppender);
            testLogger.Repository.Configured = true;
            testLogger.Level = Level.Debug;
            testLogger.Additivity = false;
    
            hierarchy.Configured = true;
    
            var testLogger = LogManager.GetLogger("test");
    

    1 回复  |  直到 6 年前
        1
  •  2
  •   Dan    6 年前

    而不是打电话

    var testLogger = hierarchy.LoggerFactory.CreateLogger(hierarchy, "test");
    

    我打电话来了

    var testLogger = hierarchy.GetLogger("test", hierarchy.LoggerFactory);