Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.util.logging.Logger不';t在Linux上写入日志文件_Java_Logging - Fatal编程技术网

java.util.logging.Logger不';t在Linux上写入日志文件

java.util.logging.Logger不';t在Linux上写入日志文件,java,logging,Java,Logging,我正在做的是一个应该在Linux服务器(CentOS7)上运行的组件程序。我使用java.util.logging.Logger及其FileHandler创建日志文件并附加日志 它在eclipse上的本地服务器Tomcat7上运行良好。但在Linux服务器上运行时,它只创建一个日志文件,不在上面写入任何日志。我还使组件的父目录具有所有权限。但它没有给出任何改变 我感到困惑的是,它肯定会创建一个日志文件。我的代码如下 private final Logger logger = Logger.get

我正在做的是一个应该在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 "....";
}

对于测试,请将文件名更改为。您可能试图打开同一文件的多个文件处理程序,具体取决于此代码的运行方式。

对于测试,请将文件名更改为。您可能试图打开同一文件的多个文件处理程序,具体取决于此代码的运行方式。

能否尝试将日志文件写入同步装载?也许是一些操作系统缓存。谢谢,但我不明白你的意思。异步装载操作系统不会立即将更改写入文件,而是将更改保存在内存中。以同步方式挂载的分区当然会更慢,但日志文件将在运行组件的同一目录中创建。所以我认为它与装载无关。你能尝试将日志文件写入同步装载吗?也许是一些操作系统缓存。谢谢,但我不明白你的意思。异步装载操作系统不会立即将更改写入文件,而是将更改保存在内存中。以同步方式挂载的分区当然会更慢,但日志文件将在运行组件的同一目录中创建。所以我认为这与安装无关。