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

标签 java logging

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

它在本地服务器(即 Eclipse 上的 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" 。您可能会尝试打开同一个文件的多个文件处理程序,具体取决于此代码的运行方式。

关于java.util.logging.Logger 在 Linux 上不会写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703776/

相关文章:

java - 记录到文件并为每一行添加前缀的自定义打印流或打印编写器

java - 在 Struts 2 中的身份验证拦截器之后重定向到正确的操作

Java SSL 握手异常 "no cipher suites in common"

java - 了解 Logback 和 Slf4j

linux - 有没有办法捕获请求日志文件中没有响应的行?

spring - 如何在 Spring Rest 中记录所有请求响应?

c++ - 在 std::ofstream (c++) 中复制 std::cout

java - 如何使用 Jackson 将键值的 JSON 数组动态映射到子对象?

java - 默认类库不包括com.sun.cnpi.rss?

java - 在Java中使用FFMPEG(在Mac上开发)