java - 在 webapp 中以编程方式获取 tomcat 日志文件

标签 java tomcat log4j slf4j

我正在寻找一种在 Web 应用程序中检索 Tomcat 日志的方法。过去我在其他网络应用程序中看到过此功能,通常将日志转储到 Servlet 中。

我正在使用 slf4j(带有 log4j)和 Tomcat 6。我没有在 Tomcat 文档中找到任何相关内容,尽管 JMX API 看起来可能提供一些有用的东西?我不太关心输出是仅表示 webapp 日志记录还是整个 Tomcat 日志,两者都足够。

理想情况下,我希望有一个不涉及从文件系统中抓取日志的解决方案,尽管如果这是唯一的方法,那么如果日志目录可以在运行时计算就太好了......

最佳答案

从文件系统中抓取日志可能是最简单的方法。您可以使用 System.getProperty("catalina.base") + "/logs" 以编程方式直接获取日志。

否则,您可以在 log4j 配置中设置一个额外的附加程序,以记录到 JDBC、JMS、Writer 等对您的应用有意义的内容。

关于java - 在 webapp 中以编程方式获取 tomcat 日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936226/

相关文章:

java - 在 DispatcherServlet 中未找到名称为 'spring-dispatcher' 的 URI [/FirstSpringMVCProject/stylegreen.css] 的 HTTP 请求映射

java - 如何获取 jdbc 的输出或错误流

java - Android SQLite数据库 "R cannot be resolved to a variable"

java - log4j API 用于记录错误

java - Spring 启动 : What is the Right Way to Implement Basic Auth with httpheaders

java - 我应该为我创建并想存储在远程 tomcat 服务器中的文件(最好是 json)提供什么文件路径?

java - 从嵌入式 Tomcat/Jetty jsf-bean 调用应用程序方法

java - SSL 连接类型

java - 如何为 JBoss 7.2 配置 slf4j - log4j 每次部署日志记录

java - 基于域内容的动态日志文件?