tomcat 6 - 更新catalina.out文件位置

时间:2016-06-17 19:23:30

标签: tomcat logging catalina.out

我在预装了tomcat(版本6)的Linux服务器上工作,我们没有管理员权限。我正在尝试更改日志文件位置(catalina.out),但它无法正常工作。

我通过添加以下

更新了tomcat6.conf文件
CATALINA_BASE="ORIG_LOC_FOLDER"
CATALINA_HOME="ORIG_LOC_FOLDER"
CATALINA_OUT="XXXX/catalina.out"

我重新启动了tomcat,但它仍然将日志写入旧位置的旧文件。我无法改变catalina.sh,因为我找不到该文件。还有什么我需要做的吗?

感谢。

1 个答案:

答案 0 :(得分:0)

可以在catalina.out中找到$CATALINA_BASE/conf/logging.properties的设置。

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

复制并修改此文件后,您可以通过此环境变量覆盖Tomcat的日志配置文件。

  

LOGGING_CONFIG =" -Djava.util.logging.config.file = $ CATALINA_BASE / CONF / logging.properties"

6/25更新

另一种解决方案是按程序更改java.util.logging配置。这是示例代码。

//import java.util.logging.*;
Logger logger = Logger.getLogger("");
Handler[] ha = logger.getHandlers();
for (int i = 0; i < ha.length; i++) {
    logger.removeHandler(ha[i]);
    ha[i].close();
}
Handler fh = new FileHandler("%t/out.log");
fh.setFormatter(new SimpleFormatter());
fh.setLevel (Level.FINE);
logger.addHandler (fh);
logger.setLevel (Level.FINE);