我正在以編程方式使用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