我需要以某种方式将Tomcat日志文件暴露给浏览器。我知道这不安全,但这就是所要求的。
我考虑过从日志位置创建一个硬链接,例如tomcat/webapps/ROOT/html/catalina.out
- > mydir/logs/catalina.out
,但我不认为这是一个很好的解决方案(即使它确实有效)。是否有将Tomcat日志文件公开给浏览器的既定方法?
答案 0 :(得分:13)
对分发配置的这种修改将通过Tomcat DefaultServlet的服务通过HTTP公开Tomcat日志。确认Tomcat发行版7.0.56,8.0.24。
出于此示例的目的,规范的Tomcat发行版将被解压缩到/ opt / tomcat。
在/opt/tomcat/conf/Catalina/localhost
中使用以下内容创建文件logs.xml
:
< Context override =“true”docBase =“/ opt / tomcat / logs”path =“/ logs”/>
重启Tomcat。浏览到您知道的日志文件,例如
如果您还希望能够浏览日志列表,请建议更改此附加配置。
修改/opt/tomcat/conf/web.xml
。在listings
参数配置的位置,通过将其值设置为true
来启用它:
...
< servlet的>
...
< INIT-PARAM>
< PARAM-名称>&列表LT; / PARAM-名称>
< PARAM值>的真强>< / PARAM值>
< / INIT-PARAM>
...
重新启动tomcat以使更改生效。在浏览器中进行此测试时,期望看到日志文件列表为可点击链接
由于安全性或性能/资源使用问题,这些设置可能不适用于某些生产环境。
从某种意义上来说,这个项目的改写: Simplest way to serve static data from outside the application server in a Java web application
了解更多信息(在这个问题的边缘处)
以及有用的文档