WebLogic在Ubuntu上的日志文件默认存储在域根目录($DOMAIN_HOME)下的logs子目录中。可通过以下命令确认域根目录路径:
echo $DOMAIN_HOME
常见日志文件及作用:
server.log:记录服务器运行日志(包括启动、停止、错误等信息);access.log:记录HTTP访问请求日志(如URL、响应状态码);domain.log:记录域级别的事件日志(如部署、配置变更)。终端命令查看
cd $DOMAIN_HOME/logs
server.log最新内容(动态刷新):tail -f server.log
grep "ERROR" server.log
vim、nano):vim server.log
图形界面查看
Ubuntu自带的gnome-system-log工具可直观查看日志文件:
gnome-system-log启动;/var/log/weblogic(或自定义日志路径),点击即可查看。日志轮转用于自动分割、压缩和删除旧日志,避免日志文件过大占用磁盘空间。以下是两种常用方法:
logrotate是Ubuntu系统自带的日志管理工具,支持按时间/大小轮转、压缩、保留指定数量日志等功能。
/etc/logrotate.d/目录下新建weblogic配置文件:sudo nano /etc/logrotate.d/weblogic
server.log为例)$DOMAIN_HOME/logs/server.log {
daily # 每天轮转一次(可改为weekly/monthly)
rotate 7 # 保留7个旧日志文件
compress # 压缩旧日志(如server.log.1.gz)
delaycompress # 延迟压缩(避免立即压缩最新轮转文件)
missingok # 日志文件不存在时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 创建新日志文件,权限640,属主root,属组adm
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
/bin/kill -HUP `cat $DOMAIN_HOME/servers/AdminServer/tmp/.pid` 2>/dev/null || true
endscript
}
注:postrotate脚本用于通知WebLogic重新打开日志文件(避免日志写入中断)。sudo logrotate -f /etc/logrotate.d/weblogic
日志轮转由系统cron任务自动执行(通常位于/etc/cron.daily/logrotate)。若不想依赖logrotate,可通过脚本定期删除旧日志(如超过30天):
clean_weblogic_logs.sh):sudo nano /usr/local/bin/clean_weblogic_logs.sh
#!/bin/bash
LOG_DIR="$DOMAIN_HOME/logs"
RETENTION_DAYS=30 # 保留30天内的日志
find "$LOG_DIR" -type f -name "*.log" -mtime +$RETENTION_DAYS -exec rm -f {} \;
find "$LOG_DIR" -type f -name "*.gz" -mtime +$RETENTION_DAYS -exec rm -f {} \;
sudo chmod +x /usr/local/bin/clean_weblogic_logs.sh
sudo crontab -e
添加以下行:0 2 * * * /usr/local/bin/clean_weblogic_logs.sh
server.log),可使用cat /dev/null > server.log(不会影响WebLogic服务)。http://<host>:<port>/console)调整日志级别(如将weblogic logger级别从INFO改为WARNING),减少不必要的日志输出。