java.util.logging.Logger 不会写入 Linux 上的日志文件



我正在做的是一个组件程序,应该在Linux服务器(CentOS7)上运行。我使用 java.util.logging.Logger 及其 FileHandler 来创建日志文件并附加日志。

它可以很好地在本地服务器上工作,即日食上的Tomcat7。但它只创建一个日志文件,并且在 Linux 服务器上运行时不会在其上写入任何日志。我还使组件的父目录具有所有权限。但它没有给出任何变化。

我感到困惑的是,它肯定会创建一个日志文件。我的代码如下。

private final Logger logger = Logger.getAnonymousLogger();
private FileHandler fileHandler;
public String run(){
    try {
        fileHandler = new FileHandler("component.log", true);
        SimpleFormatter formatter = new SimpleFormatter();
        fileHandler.setFormatter(formatter);
        logger.addHandler(fileHandler);
    } catch (Exception e) {
        .....
    }
    logger.info("==== component start ====");
    .............
    .............
    fileHandler.close();
    return "....";
}

为了进行测试,请将文件名更改为"component%u.log"。 您可能尝试打开同一文件的多个文件处理程序,具体取决于此代码的运行方式。

最新更新