tomcat

环境

CentOS6;
两个tomcat实例以tomcat7、tomcat9区分,
目录分别为:

  • /usr/local/tomcat7
  • /usr/local/tomcat9

项目文件目录为/var/app/;
log4j配置文件为/var/app/WEB-INF/classes/log4j.properties;
Log目录为/opt/logs/。

要求

tomcat7和tomcat9两个实例中,
项目分别写两个日志文件:

  • /opt/logs/tomcat7-debug.log
  • /opt/logs/tomcat9-debug.log

实现原理

  • 在tomcat的catalina.sh脚本中,指定变量。
  • 在项目的log4j配置文件中引用这个变量。

实现方法

修改/usr/local/tomcat7/bin/catalina.sh文件,在237行左右,为JAVA_OPTS增加一个变量。
指定tomcatn=tomcat7

JAVA_OPTS="$JAVA_OPTS -Dtomcatn=tomcat7"

在tomcat9的这个文件中指定tomcatn=tomcat9。

然后在项目目录中的log4j配置文件中引用这个变量,使不同的tomcat实例启动的应用有不同的log文件名。
编辑/var/app/WEB-INF/classes/log4j.properties文件

log4j.appender.D.File = /opt/logs/${tomcatn}-debug.log

以上修改完成后,重新启动两个tomcat实例。
/opt/logs目录中就会新生成不同的log文件:
/opt/logs/tomcat7-debug.log
/opt/logs/tomcat9-debug.log