拦截使用Logger从另一个类生成的stderr?

时间:2011-06-22 23:40:52

标签: java logging

我有一个类生成错误输出,我想使用Logger输出。我对我这样做感到有点困惑。我有这样的事情:

public static void main(String[] args) throws Exception {
    ClassA foo = new ClassA();
    Logger logger = Logger.getLogger(ClassA.class.getName());
    FileHandler logFile = new FileHandler("LogToFile2.txt");
    logFile.setFormatter(new SimpleFormatter());
    logger.addHandler(logFile);
    logger.info("A message logged to the file");
    foo.bar();
}

它输出“记录到文件的消息”,但是我没有捕获从bar()收到的INFO stderr的其余部分。

1 个答案:

答案 0 :(得分:1)

我认为吧里面有Logger.getLogger调用。您应该在名为logging.properties的文件中设置日志记录应用程序。

现在,您正在为CobolProgramService检索的Logger实例上执行此操作。

因此,当您在foo.bar()中调用Logger.getLogger时,它将具有标准设置。

查看http://www.crazysquirrel.com/computing/java/logging.jspx以获取有关该主题的更多高级信息。