默认情况下,登录Tomcat Web服务器是否异步?

时间:2019-07-03 14:26:43

标签: java tomcat slf4j

通常,我的日志记录如下:

private final Logger LOGGER = org.slf4j.LoggerFactory.getLogger(this.getClass());

问题:如果我将应用程序作为war部署到tomcat网络服务器,默认情况下是日志同步还是异步?

我问是因为tomcats logging.properties文件定义了AsyncFileHandler,就像.handlers = 1catalina.org.apache.juli.AsyncFileHandler一样。

我的问题是,是否我所有的日志语句都“传递”给了该tomcat异步文件处理程序,然后自动记录了异步?

1 个答案:

答案 0 :(得分:1)

如果在Web应用程序中使用单独的日志记录框架(例如SLF4J),则

Tomcat的日志记录是无关的。 SLF4J文档应该告诉您在该框架中什么是同步的,什么是异步的。

为便于记录,Tomcat的内部日志记录是同步的,直到到达AsyncFileHandler为止,该缓冲区被缓冲并异步写入一个单独的线程(因为写入文件系统通常是日志记录调用中最慢的部分)