gpt4 book ai didi

java - log4j 以编程方式获取控制台附加程序以将 System.out 包含到文件中

转载 作者:行者123 更新时间:2023-12-01 09:38:40 25 4
gpt4 key购买 nike

我正在以编程方式使用 log4j。它似乎在控制台消息之外工作。不出现 System.out 消息。 logger.info/error/etc 都出现在文件中。不能记录System.out信息吗?我做错了什么?

   Logger logger = Logger.getRootLogger();
logger = Logger.getLogger("com.mycodebase");

ConsoleAppender consoleAppender = new ConsoleAppender();
PatternLayout consolePatternLayout = new PatternLayout();
consolePatternLayout.setConversionPattern("%d{dd MMM yyyy} %d{HH:mm:ss}: %5p %c{1}:%L - %m%n");
consoleAppender.setLayout(consolePatternLayout);
consoleAppender.setName("Iridium Suite Console appender");
consoleAppender.setThreshold(Level.INFO);
consoleAppender.activateOptions();

//Create Iridium Suite log file appender
isAppender = new RollingFileAppender();
isAppender.setFile(logFileName);
PatternLayout isPatternLayout = new PatternLayout();
isPatternLayout.setConversionPattern("%d{dd MMM yyyy} %d{HH:mm:ss}: %5p %c{1}:%L - %m%n");
isAppender.setLayout(isPatternLayout);
isAppender.setThreshold(Level.INFO);
isAppender.setName("log appender");
isAppender.setAppend(true);
isAppender.setMaxBackupIndex(0);
isAppender.setMaxFileSize("2MB");
isAppender.activateOptions();

Logger.getRootLogger().addAppender(consoleAppender);
Logger.getRootLogger().addAppender(isAppender);

最佳答案

ConsoleAppender 用于将日志消息定向到 stdout,但反之则不然。人们在这里想出了很好的解决方案: log4j redirect stdout to DailyRollingFileAppender

关于java - log4j 以编程方式获取控制台附加程序以将 System.out 包含到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38621320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com