我正在以编程方式使用log4j。它似乎在控制台消息之外工作。 System.out消息不会出现。 logger.info/error/etc全部出现在文件中。你能否记录System.out信息?我究竟做错了什么?log4j以编程方式获取控制台appender以将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);
您是否尝试将'System.out'重定向到log4j而不是控制台? – bradimus
不是,更像是除了。我认为log4j也可以捕捉到这一点。 – springcorn