WebLogic的日志文件默认存储在域目录的servers子目录下,主要包含以下类型:
DOMAIN_HOME/servers/SERVER_NAME/logs/SERVER_NAME.log(记录服务器启动、关闭及运行时错误);DOMAIN_HOME/servers/SERVER_NAME/logs/access.log(记录HTTP/HTTPS访问请求);DOMAIN_HOME/servers/SERVER_NAME/logs/domain.log(记录域级别的运行信息)。logrotate是CentOS系统自带的日志轮转工具,若未安装,可通过以下命令安装:
sudo yum install logrotate -y
在/etc/logrotate.d/目录下创建WebLogic专属配置文件(如weblogic),内容示例如下:
/u01/app/weblogic/domain/servers/AdminServer/logs/*.log {
daily # 每天轮转一次(可选:weekly/monthly)
rotate 7 # 保留7个轮转后的日志文件(可根据磁盘空间调整)
compress # 压缩轮转后的文件(如.gz格式)
missingok # 若日志文件不存在,不报错
notifempty # 若日志文件为空,不轮转
create 640 root adm # 创建新日志文件,权限640,属主root,属组adm
sharedscripts # 所有日志轮转完成后统一执行postrotate脚本
postrotate
/bin/kill -HUP `cat /u01/app/weblogic/domain/servers/AdminServer/tmp/AdminServer.pid 2>/dev/null` 2>/dev/null || true
endscript
}
参数说明:
daily:轮转频率(支持weekly/monthly);rotate 7:保留最近7个日志文件(避免占用过多磁盘空间);compress:使用gzip压缩旧日志(节省空间);postrotate:轮转后执行的脚本,通过kill -HUP向WebLogic进程发送信号,使其重新打开日志文件(避免日志写入中断)。手动触发logrotate以验证配置是否正确,执行以下命令:
sudo logrotate -vf /etc/logrotate.d/weblogic
-v:显示详细执行过程;-f:强制立即轮转(即使未到轮转时间)。logrotate的执行日志默认记录在/var/log/messages或/var/log/syslog中,可通过以下命令实时查看:
tail -f /var/log/messages | grep logrotate
或查看logrotate自身的日志文件:
tail -f /var/log/logrotate.log
若需更细粒度的控制(如按文件大小轮转),可通过修改WebLogic的logging.properties文件实现:
DOMAIN_HOME/config/logging.properties;java.util.logging.FileHandler.pattern = /u01/app/weblogic/domain/servers/AdminServer/logs/AdminServer.%g.log
java.util.logging.FileHandler.limit = 10485760 # 单个文件大小限制(10MB)
java.util.logging.FileHandler.count = 5 # 最大保留文件数(5个)
通过以上步骤,可实现WebLogic在CentOS上的日志轮转,有效管理日志文件大小并保留历史记录。需根据实际环境调整路径、频率及保留数量等参数。