gpt4 book ai didi

java - 将 Tomcat Catalina 日志导出到外部服务器

转载 作者:行者123 更新时间:2023-11-28 22:44:15 25 4
gpt4 key购买 nike

我使用 Tomcat 7.x 作为我的网络服务器,我使用 java.util.logging 和 JULI 进行日志记录。这个 Tomcat 服务器托管了一个运行 Ubuntu 的 Amazon EC2 实例。

问题 每当我想查看日志(在 catalina.log 文件中)时,我都经历了一个非常耗时的过程,即复制、下载然后将文件下载到我的本地机器之前我能看到他们。 (我可以使用 nano 或 vi 之类的实用程序,但它们帮助不大)

我的问题 我可以自动将日志导出到某个外部服务器并立即查看吗?类似于 Android 中 ACRA 报告的 Bugsense。

最佳答案

您可以创建一个在 Tomcat 中运行的 servlet 来读取日志并将它们显示在您的网络浏览器中。或者,如果文件很大,请将其压缩并允许您下载。

使用环境变量catalina.base确定基本目录,然后收集 logs/catalina.log。

[更新]

最佳方法取决于您的背景。如果您愿意做一个基本的、简洁的 servlet,请从 the simplest design that could possibly work 开始。比如:

class LogServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
File logFile = new File(System.getProperty("catalina.base"), "logs/catalina.log");
String contents = FileUtils.readFileToString(logFile);
PrintWriter out = new PrintWriter(resp.getOutputStream());
out.println(contents);
}
}

我正在使用 commons-io 来简化日志文件的读取,除此之外它只是 Java servlet 框架。

关于java - 将 Tomcat Catalina 日志导出到外部服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13519115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com