在 Debian 上运行 Tomcat 时,日志过滤通常可以从命令行查看过滤和Tomcat 自身日志配置过滤两个层面来做。下面分情况说明。
Tomcat 日志一般在:
/var/log/tomcat9/(Debian 包安装,版本可能不同)$CATALINA_HOME/logs/(手动安装)常见日志文件:
catalina.outcatalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loghost-manager / manager 日志grep "ERROR" /var/log/tomcat9/catalina.out
tail -f /var/log/tomcat9/catalina.out | grep "Exception"
grep -E "ERROR|WARN|Exception" /var/log/tomcat9/catalina.out
grep "2024-01-15 10:" /var/log/tomcat9/catalina.out
grep -v "DEBUG" /var/log/tomcat9/catalina.out
logging.properties(JUL)路径:
/etc/tomcat9/logging.properties
或
$CATALINA_HOME/conf/logging.properties
示例:只记录 WARNING 及以上
.level = WARNING
指定包:
org.apache.catalina.level = INFO
com.example.app.level = DEBUG
如果项目使用 Log4j2 或 Logback:
Logback 示例:
<logger name="com.example" level="INFO"/>
<root level="WARN">
<appender-ref ref="FILE"/>
</root>
可过滤:
server.xml 中:
<Valve className="org.apache.catalina.valves.AccessLogValve"
pattern="%h %l %u %t "%r" %s %b" />
查看 404:
grep " 404 " /var/log/tomcat9/localhost_access_log.*.txt
只看异常:
tail -f /var/log/tomcat9/catalina.out | grep -A 10 -B 2 "Exception"
只看某接口:
grep "/api/login" /var/log/tomcat9/localhost_access_log.*.txt
如果你能说明:
我可以给你更精确的配置示例。