是否可以在不更改server.xml文件的情况下更改tomcats logs/localhost_access_log.*
日志文件的位置?
最佳解决方案是SystemProperty或环境变量。我只是不想更改默认的tomcat安装,因为我推出了几十个tomcat到不同的主机,这使得这个过程很容易出错。
由于
答案 0 :(得分:2)
通过以下步骤解决了这个问题:
在部署时,将在tomcat_home/conf/Catalina/localhost/<contextpath>.xml
:
&LT; Context path =“/ contextpath”&gt; &LT; Valve className =“org.apache.catalina.valves.AccessLogValve” 可旋转=“假” 目录=“/ /目录/至/日志/到” 前缀=“访问日志” 后缀=“日志” 图案=“组合” /&GT;
tomcat_home/logs/localhost_access_log.*.txt
文件,因为Context / Valve配置只是附加的,不会覆盖现有的AccessLogValve。我知道这会写两次日志文件,你必须知道你的contextpath,这对我的用例来说都不是问题。另一个选择是删除server.xml中的完整Valve标记(它更改了server.xml但很容易自动化)。
答案 1 :(得分:0)
是的,它可能。详情如下 -
1在conf文件夹中创建catalina.properties
2在文件中创建变量
accesslog.file=my_access_log_file
3在server.xml中引用它作为
directory="logs" prefix="${accesslog.file}" suffix=".log"