java.util.logging.Logger不';t在Linux上写入日志文件
我正在做的是一个应该在Linux服务器(CentOS7)上运行的组件程序。我使用java.util.logging.Logger及其FileHandler创建日志文件并附加日志 它在eclipse上的本地服务器Tomcat7上运行良好。但在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
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 "....";
}
对于测试,请将文件名更改为。您可能试图打开同一文件的多个文件处理程序,具体取决于此代码的运行方式。对于测试,请将文件名更改为。您可能试图打开同一文件的多个文件处理程序,具体取决于此代码的运行方式。能否尝试将日志文件写入同步装载?也许是一些操作系统缓存。谢谢,但我不明白你的意思。异步装载操作系统不会立即将更改写入文件,而是将更改保存在内存中。以同步方式挂载的分区当然会更慢,但日志文件将在运行组件的同一目录中创建。所以我认为它与装载无关。你能尝试将日志文件写入同步装载吗?也许是一些操作系统缓存。谢谢,但我不明白你的意思。异步装载操作系统不会立即将更改写入文件,而是将更改保存在内存中。以同步方式挂载的分区当然会更慢,但日志文件将在运行组件的同一目录中创建。所以我认为这与安装无关。