最简单的方法来登录tomcat catalina.out
将日志写入tomcat/catalina.out
的最简单方法是什么? 我试过System.out.print()
和System.err.print()
工作正常。
我只是想知道是否有更好的选项可以使用尽管sysout
和syserr
?
你的记录
对于您自己的日志记录(由您自己的servlet代码生成的日志记录项), Simple Logging Facade for Java(SLF4J)是现代方法。 此接口充当外观 ,可与多个可插入实现中的任何一个一起使用。 这些实现包括与Java,log4j,Logback等捆绑在一起的java.util.logging工具。
Logback是你应该看的。 由多年前创建着名的log4j的人创建。 Logback是log4j的后续版本。 同一个人还创建了SLF4J,以防止您被锁定到任何一个日志记录框架。
您的servlet代码↔SLF4J↔Logback↔logs
您可以通过多种方式配置LogBack以满足您的需求。 您可以写入文本文件,将日志记录项发送到数据库等。
Tomcat的记录
除了您自己的日志记录之外,还有Tomcat本身执行日志记录的问题,以跟踪每个传入的请求。
Tomcat通过Valve执行此类日志记录。 默认情况下,这些日志记录项只是写入文本文件。 你可能想要做更多的事情。
Logback提供了一个额外的模块, logback-access,用于来自Eclipse的Apache和Jetty的servlet容器Tomcat 。 模块logback-access
是Tomcat的Valve的扩展。 通过扩展Valve,您可以替换默认行为。 您可以将Tomcat自己的日志记录项发送到Logback基础结构(文件,数据库记录等)。
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");
- selenium.WebElement.sendKeys()出错
- JNI。 如何从jobject获取jstring并将其转换为char *
- ZonedDateTime的jackson反序列化问题
- Java SimpleDateFormat解析错误的日期
- Java流API:身份仿函数有语法糖吗?
- 如何用jgit做相当于“git diff –name-status”的操作?
- 如何使用JDT获取静态字段的所有引用
- java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为[Ljava.lang.String;
- 在调试测试时,使用DatabaseManager连接到内存Hsql(高超音速)数据库