发布于2026-06-30 阅读(0)
扫一扫,手机访问
在Ubuntu系统下排查Ja va应用的问题,往往需要从日志中定位特定信息。不同的部署方式决定了日志的查看方法也有所不同——有的通过systemd管理,有的直接输出到文件,还有的依赖专门的框架。下面整理了几种常用手段,你可以根据实际情况灵活选用。
如果你的Ja va应用是通过systemd启动的(比如Spring Boot打包的jar服务),用journalctl命令就能直接读取日志。常用的几个参数组合如下:

sudo journalctl -u your-ja va-service.service(记得替换为实际服务名,比如my-spring-app.service)sudo journalctl -u your-ja va-service.service -f(效果类似tail -f)sudo journalctl -u your-ja va-service.service -n 1000sudo journalctl -u your-ja va-service.service | grep "ERROR"大部分Ja va应用会把日志输出到配置好的文件中(比如Log4j、Logback配置的路径)。常见的位置有:
System.getProperty("user.dir")获取)/var/log/目录(比如Tomcat的catalina.out、自定义的app.log)logback.xml中的标签)针对文件本身,常用命令也很直观:
cat /path/to/logfile.log(适合小文件)tail -f /path/to/logfile.log(比如tail -f /var/log/tomcat/catalina.out)less /path/to/logfile.log(支持上下翻页,按/键可以搜索关键字)grep "ERROR" /path/to/logfile.log(区分大小写)、grep -i "error" /path/to/logfile.log(忽略大小写)、grep -E "Exception|Error" /path/to/logfile.log(正则匹配多个关键字)光靠grep还不够,搭配awk、sed等工具能进一步提取或处理日志中的关键字段:
grep "ERROR" /path/to/logfile.log(比如查找所有错误日志)awk '{print $1, $2, $3}' /path/to/logfile.log(假设日志格式是“时间 类名 内容”,提取前三个字段)awk -v RS= -v ORS='nn' '/Exception/' /path/to/logfile.log | less(把连续空行当作分隔符,保留完整的异常栈信息)sed -n '/ERROR/p' /path/to/logfile.log(仅显示包含“ERROR”的行)如果使用Tomcat作为应用服务器,日志通常位于$CATALINA_HOME/logs/目录下。关键文件包括:
catalina.out:标准输出日志(包含所有控制台输出)localhost..log :本地主机日志(比如Servlet初始化信息)manager..log :管理器应用日志(如部署操作记录)实时查看最新请求日志可以用tail -f /var/log/tomcat/catalina.out。
Spring Boot默认使用spring-boot-starter-logging(基于Logback),日志文件通常放在logs/目录下(比如spring-boot.log)。你可以在application.properties或application.yml中配置日志路径和级别:
logging.file.name=/path/to/spring-boot.log # 指定日志文件路径
logging.level.root=INFO # 设置根日志级别(DEBUG/INFO/WARN/ERROR)
logging.level.com.example=DEBUG # 设置特定包的日志级别(比如com.example包)
如果偏好图形界面,可以考虑以下工具:
通过以上方法,你可以根据Ja va应用的运行方式(systemd/直接运行)和日志配置(文件路径/框架),快速在Ubuntu系统中定位到所需的特定信息——不管是错误、警告还是特定事件。
下一篇:nohup后台运行进程如何管理
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8