Debian系统查看Java日志的常用方法
tail命令:用于实时监控日志文件的新增内容,是开发运维中最常用的工具。
tail -n 10 /path/to/java.log(如/var/log/tomcat9/catalina.out);tail -f /path/to/java.log(Ctrl+C退出实时模式)。grep命令:快速过滤日志中的关键字(如错误、警告),支持正则表达式。
grep "ERROR" /path/to/java.log;grep -i "warning" /path/to/java.log;grep -c "ERROR" /path/to/java.log。less命令:分页查看大型日志文件,支持上下翻页(空格键)、搜索(/关键字)和跳转(行号+g)。
less /path/to/java.log;/Exception后按回车,按n跳转到下一个匹配项。cat命令:快速查看小型日志文件的全部内容(不适用于大型文件,会刷屏)。
cat /path/to/java.log。若Java应用以systemd服务(如tomcat9.service、my-java-app.service)运行,可使用journalctl命令查看系统级日志:
journalctl -u 服务名(如journalctl -u tomcat9);journalctl -u 服务名 -f;journalctl -u 服务名 -b;journalctl -u 服务名 --since "2025-10-27 00:00:00" --until "2025-10-27 23:59:59"。使用nano、vim等文本编辑器打开日志文件,适合需要编辑或长期查看的场景(需管理员权限):
nano打开:sudo nano /path/to/java.log;vim打开:sudo vim /path/to/java.log(按i进入编辑模式,:wq保存退出)。Debian桌面环境可使用图形化工具快速查看日志:
gnome-system-log启动,选择“Java应用日志”或对应文件即可查看;ksystemlog启动。Java应用的日志路径由日志框架(Logback、Log4j、JUL)的配置文件决定,需先确认配置:
logs目录(如/home/user/app/logs/myapp.log),配置文件为src/main/resources/logback.xml(示例中<file>${user.home}/logs/myapp.log</file>指定了路径);/var/log目录(如/var/log/myapp.log),配置文件为src/main/resources/log4j.properties(示例中log4j.appender.file.File=/var/log/myapp.log指定了路径);/var/log目录,文件名为<类名>.log(如com.example.MyClass.log)。使用logrotate工具自动轮转日志文件,避免日志过大占用磁盘空间。默认配置文件位于/etc/logrotate.conf,自定义配置可创建/etc/logrotate.d/java-app文件,示例内容:
/var/log/myapp.log {
daily
rotate 7
compress
missingok
notifempty
}
此配置表示每天轮转日志,保留最近7天的压缩日志(.gz格式)。