LOG4J2 RollingFile Appender 不写入文件
LOG4J2 RollingFile Appender not writing to file
我正在尝试通过代码配置 log4j2,但我的 RollingFile 和自定义插件“JTxtLogAppender”无法正常工作。
RollingFile 的问题是创建了日志文件,但它没有写入文件,也没有写入我的自定义插件,但控制台输出正常。
这是我的代码:
String logFile = logPath + "dxc.log";
String logFilePattern = logPath + "dxc-%d{yyyy-MM-dd}.log";
PluginManager.addPackage("dxc");
ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
LayoutComponentBuilder layout = builder.newLayout("PatternLayout");
layout.addAttribute("pattern", "%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c: %m%n");
AppenderComponentBuilder console = builder.newAppender("console", "Console")
.add(layout);
builder.add(console);
ComponentBuilder triggeringPolicy = builder.newComponent("Policies")
.addComponent(builder.newComponent("TimeBasedTriggeringPolicy"))
.addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", "100M"));
AppenderComponentBuilder rollingFile = builder.newAppender("rollingFile", "RollingFile")
.addAttribute("fileName", logFile)
.addAttribute("filePattern", logFilePattern)
.addAttribute("immediateFlush", true)
.addAttribute("append", true)
.addComponent(triggeringPolicy)
.add(layout);
builder.add(rollingFile);
AppenderComponentBuilder jTxtAppender = builder.newAppender("jTxtLogAppender", "JTxtLogAppender")
.add(layout);
builder.add(jTxtAppender);
RootLoggerComponentBuilder rootLogger = builder.newRootLogger(Level.INFO)
.add(builder.newAppenderRef("console"))
.add(builder.newAppenderRef("rollingFile"))
.add(builder.newAppenderRef("jTxtLogAppender"));
builder.add(rootLogger);
Configurator.initialize(builder.build());
Configurator.setRootLevel(Level.INFO);
在我执行上述所有代码之前
LogManager.shutdown();
现在可以使用了。
我正在尝试通过代码配置 log4j2,但我的 RollingFile 和自定义插件“JTxtLogAppender”无法正常工作。 RollingFile 的问题是创建了日志文件,但它没有写入文件,也没有写入我的自定义插件,但控制台输出正常。
这是我的代码:
String logFile = logPath + "dxc.log";
String logFilePattern = logPath + "dxc-%d{yyyy-MM-dd}.log";
PluginManager.addPackage("dxc");
ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
LayoutComponentBuilder layout = builder.newLayout("PatternLayout");
layout.addAttribute("pattern", "%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c: %m%n");
AppenderComponentBuilder console = builder.newAppender("console", "Console")
.add(layout);
builder.add(console);
ComponentBuilder triggeringPolicy = builder.newComponent("Policies")
.addComponent(builder.newComponent("TimeBasedTriggeringPolicy"))
.addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", "100M"));
AppenderComponentBuilder rollingFile = builder.newAppender("rollingFile", "RollingFile")
.addAttribute("fileName", logFile)
.addAttribute("filePattern", logFilePattern)
.addAttribute("immediateFlush", true)
.addAttribute("append", true)
.addComponent(triggeringPolicy)
.add(layout);
builder.add(rollingFile);
AppenderComponentBuilder jTxtAppender = builder.newAppender("jTxtLogAppender", "JTxtLogAppender")
.add(layout);
builder.add(jTxtAppender);
RootLoggerComponentBuilder rootLogger = builder.newRootLogger(Level.INFO)
.add(builder.newAppenderRef("console"))
.add(builder.newAppenderRef("rollingFile"))
.add(builder.newAppenderRef("jTxtLogAppender"));
builder.add(rootLogger);
Configurator.initialize(builder.build());
Configurator.setRootLevel(Level.INFO);
在我执行上述所有代码之前
LogManager.shutdown();
现在可以使用了。