Ubuntu Java编译日志查看技巧
Ubuntu Java编译日志查看实用技巧
一、基础命令行工具:快速定位与过滤日志
-
确定日志文件位置
Java编译日志通常位于项目工作目录(如target/
或build/
文件夹)或通过构建工具(Maven/Gradle)配置的路径(如Maven的log4j.properties
或Gradle的logging.level
设置)。常见文件名为compile.log
、build.log
或项目名称加.log
后缀。 -
查看完整日志内容
- cat:直接输出整个日志文件内容(适合小文件),添加
-n
参数可显示行号(便于定位):
cat -n /path/to/compile.log
- less:分页查看大文件,支持上下翻页(
空格
/b
)、跳转行(gg
/G
)及搜索(/关键词
):
less /path/to/compile.log
- head/tail:分别查看文件开头(
-n 10
显示前10行)或结尾(-n 10
显示后10行)内容:
head -n 10 /path/to/compile.log
tail -n 10 /path/to/compile.log
- cat:直接输出整个日志文件内容(适合小文件),添加
-
实时监控日志更新
使用tail -f
命令实时显示日志文件的新增内容(按Ctrl+C
退出),适合跟踪编译过程的实时输出:
tail -f /path/to/compile.log
-
搜索特定内容
- grep:搜索包含指定关键词(如
ERROR
、WARN
或包名)的行,-i
忽略大小写,-n
显示行号:
grep -i "error" /path/to/compile.log
grep -n "com.example.package" /path/to/compile.log
- 扩展搜索:结合
grep -E
支持正则表达式,匹配多个关键词(如Exception
或Error
):
grep -E "Exception|Error" /path/to/compile.log
- grep:搜索包含指定关键词(如
-
分段与格式化查看
- awk:提取包含特定关键词的完整异常栈(如
Exception
),保留块状结构(-v RS=
设置记录分隔符为空行):
awk -v RS= -v ORS='\n\n' '/Exception/' /path/to/compile.log | less
- vim:结合管道使用,过滤无关内容(如
netns
),适合复杂日志分析:
tail -n 10000 /path/to/compile.log | vim -
在vim中可使用/关键词
搜索、:%s/pattern//g
全局替换或:n
/:N
切换文件。
- awk:提取包含特定关键词的完整异常栈(如
二、针对编译过程的高级技巧
-
查看Maven编译日志
Maven编译命令默认输出到终端,若需保存到文件,可添加-X
(调试模式)和-Dmaven.build.cache.enabled=false
(禁用缓存,避免日志截断):
mvn clean compile -X > maven_compile.log 2> & 1
日志文件通常位于target/surefire-reports/
(单元测试日志)或项目根目录的maven-build.log
。 -
查看Gradle编译日志
Gradle编译命令使用--info
(默认)、--debug
(详细)或--stacktrace
(堆栈跟踪)调整日志级别,输出到文件:
gradle build --info > gradle_compile.log 2> & 1
日志文件通常位于build/reports/
(如build/reports/logging/compile.log
)。 -
过滤编译错误
编译错误通常包含error:
、cannot find symbol
或compilation failed
等关键词,可通过以下命令快速定位:
grep -i "error\|cannot find symbol\|compilation failed" /path/to/compile.log
结合tail -f
实时监控编译错误(适用于长时间编译任务):
tail -f /path/to/compile.log | grep -i "error"
三、辅助工具:提升日志查看效率
-
高亮显示关键信息
使用highlight
或ccze
工具高亮关键词(如ERROR
用红色显示),增强日志可读性:- 安装
highlight
:sudo apt install highlight
- 高亮
ERROR
:highlight -O ansi -k "ERROR" /path/to/compile.log | less -R
- 安装
ccze
:sudo apt install ccze
- 使用
ccze
:cat /path/to/compile.log | ccze
- 安装
-
日志轮换与管理
使用logrotate
工具自动轮换、压缩和删除旧日志(防止日志文件过大),配置文件位于/etc/logrotate.conf
或/etc/logrotate.d/
目录下。示例配置(每天轮换,保留7天):/path/to/compile.log { daily rotate 7 compress missingok notifempty }
手动触发轮换:
sudo logrotate -f /etc/logrotate.d/java_compile
。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Java编译日志查看技巧
本文地址: https://pptw.com/jishu/725657.html