Ubuntu上WebLogic日志管理方法
WebLogic在Ubuntu上的日志文件默认存储在**$DOMAIN_HOME/logs**目录下($DOMAIN_HOME为WebLogic域的根目录,可通过echo $DOMAIN_HOME命令确认)。主要日志文件包括:
使用tail命令实时跟踪日志文件的最新内容,便于快速定位运行问题:
cd $DOMAIN_HOME/logs
tail -f server.log # 实时查看server.log的最新行
若需同时查看多个日志文件,可使用tail -f server.log access.log。
使用grep命令过滤日志中的关键字(如错误“ERROR”、特定业务关键词),快速定位目标信息:
grep 'ERROR' server.log # 查找server.log中包含“ERROR”的行
grep '2025-10-27' access.log # 查找2025-10-27的访问日志
结合-i参数可忽略大小写,-A 5可显示匹配行后的5行上下文。
日志轮转可自动分割、压缩旧日志,保留指定数量的历史日志,防止磁盘空间耗尽。以下是两种常用方法:
WebLogic默认支持日志轮转,可通过修改域配置调整轮转策略:
http://localhost:7001/console);若需统一管理系统日志,可使用Ubuntu自带的logrotate工具:
sudo vi /etc/logrotate.d/weblogic;/path/to/weblogic/domain/logs/*.log {
daily # 每天轮转
rotate 7 # 保留7个轮转文件
compress # 压缩旧日志(如.gz格式)
missingok # 日志不存在时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 新日志文件权限
sharedscripts # 所有日志处理完成后执行脚本
postrotate
/usr/bin/killall -HUP weblogic.Server # 向WebLogic进程发送HUP信号,重新打开日志文件
endscript
}
sudo logrotate -f /etc/logrotate.d/weblogic;tail -f /var/log/logrotate.log。定期清理过期日志可避免磁盘空间不足。以下是常用命令:
rm -rf $DOMAIN_HOME/servers/*/logs/*
find命令):find $DOMAIN_HOME/logs -name "access.log.*" -mtime +7 -exec rm -f {} \;
rm -rf $DOMAIN_HOME/servers/*/tmp/* # 清理临时文件
rm -rf $DOMAIN_HOME/*.lok # 清理.lock文件
建议将上述命令添加到crontab中,设置定时任务(如每天凌晨2点执行)。
若偏好图形界面,可使用Ubuntu自带的gnome-system-log工具:
gnome-system-log启动;/path/to/weblogic/domain/logs/server.log);