我有一个生成错误输出的类,我想使用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。

最佳答案

我假设bar中有Logger.getLogger调用。您应该在一个名为logging.properties的文件中设置整个日志应用程序。

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

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

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

关于java - 拦截使用Logger从另一个类生成的stderr吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6447813/

10-13 04:08