在服务器上更新项目的时候发现tomcat在启动或出现严重错误时,tomcat里的logs目录下并没有生成日志;因为tomcat版本是免安装版的,是以前同事部署的,开始以为是更换了存放日志的文件夹,查了一下,发现没有更改,日志文件夹是默认的,这就奇怪了。
经过数小时的排查最后找出问题所在,问题是在tomcat下的bin目录下的catalina.bat文件内容被修改到了,影响了日志的输出,
rem ----- Execute The Requested Command ---------------------------------------
这行下面设置了内存大小
set JAVA_OPTS=-Xms1024m -Xmx1024m
这行下面设置了内存大小
set JAVA_OPTS=-Xms1024m -Xmx1024m
把上面设置内存大小这句去掉,保存,重新启动startup.bat文件,tomcat--->logs下生成了启动日志文件。
但是默认的内存不够用,启动报报OutofMemory异常,因此得设置内存,但是同时也想能输出日志,方便查看调试。查了一下,正确的设置如下:
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Xms512m -Xmx1024m
注意:标红的这一行刚好是设置日志输出的配置文件的,Xms及Xmx参数是参数外面,不在双引号里面