环境
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=tomcat7JAVA_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