最简单的方法来登录tomcat catalina.out

时间:2013-11-12 15:21:59

标签: java tomcat servlets logging

将日志写入tomcat/catalina.out的最简单方法是什么?我试过System.out.print()System.err.print()工作正常。

我只是想知道尽管sysoutsyserr有更好的选择吗?

2 个答案:

答案 0 :(得分:5)

您的记录

对于您自己的日志记录(由您自己的servlet代码生成的日志记录项),Simple Logging Facade for Java (SLF4J)是现代方法。此接口充当façade,可与多个可插入实现中的任何一个一起使用。这些实现包括与Java,log4j,Logback等捆绑在一起的java.util.logging工具。

Logback是你应该看的那个。由多年前创建着名的log​​4j的人创建。 Logback是log4j的后续版本。同一个人还创建了SLF4J,以防止你被锁定到任何一个日志框架。

您的servlet代码↔SLF4J↔Logback↔logs

您可以通过多种方式配置LogBack以满足您的需求。您可以写入文本文件,将日志记录项发送到数据库等等。

Tomcat的登录

除了您自己的日志记录之外,还有Tomcat本身执行日志记录的问题,以跟踪每个传入的请求。

Tomcat通过Valve执行此类日志记录。默认情况下,这些日志记录项只是写入文本文件。你可能想要做更多的事情。

Logback提供了一个额外的模块logback-access,用于Apache和Apache的两个servlet容器Tomcat。来自Eclipse的Jetty。模块logback-access是Tomcat的Valve的扩展。通过扩展Valve,您可以替换默认行为。您可以将Tomcat自己的日志记录项发送到Logback基础结构(文件,数据库记录等)。

答案 1 :(得分:4)

import java.util.logging.*

Logger.getLogger (YourClass.class.getName()).log(Level.WARNING, e.getMessage(), e);
Logger.getLogger (YourClass.class.getName()).log(Level.INFO, "hello world");