WebLogic的日志文件默认存储在域根目录的servers/SERVER_NAME/logs子目录下(DOMAIN_HOME为域根目录,SERVER_NAME为服务器实例名称),主要包含以下类型:
日志级别决定了日志的详细程度(从低到高:TRACE→DEBUG→INFO→WARNING→ERROR→SEVERE→CRITICAL)。可通过以下两种方式调整:
DOMAIN_HOME/config/fmwconfig/servers/SERVER_NAME/logging.xml文件,调整<log-level>标签的值(如<log-level>INFO</log-level>)。日志轮转可防止日志文件过大占用磁盘空间,支持按大小或按时间触发,且可限制保留文件数量。
By Size)或“按时间”(By Time);5000KB(生产模式默认值);00:00(每天凌晨);24小时;7,保留最近7个日志文件);myserver_%yyyy%_%MM%_%dd%.log),便于归档。yum install logrotate),在/etc/logrotate.d/下创建weblogic配置文件,内容示例如下:/path/to/weblogic/domain/logs/*.log { daily # 每天轮转 rotate 7 # 保留7个旧日志 compress # 压缩旧日志(gzip) missingok # 日志不存在时不报错 notifempty # 日志为空时不轮转 create 640 root adm # 新日志权限及属主 sharedscripts # 所有日志处理完后执行脚本 postrotate /usr/bin/killall -HUP weblogic.Server # 发送HUP信号让WebLogic重新打开日志文件 endscript } 测试配置是否正确:sudo logrotate -f /etc/logrotate.d/weblogic。常用命令快速查看和分析日志:
tail -f /path/to/weblogic/logs/server.log(动态显示最新日志);tail -n 100 /path/to/weblogic/logs/server.log(显示最后100行);grep "ERROR" /path/to/weblogic/logs/server.log(查找包含“ERROR”的行);less /path/to/weblogic/logs/server.log(按上下键滚动,q退出);journalctl -u weblogic查看服务日志。定期清理旧日志可释放磁盘空间,常见方法:
100MB)、“最大日志文件数量”(如10)、“日志保留时间”(如30天),启用“自动删除旧日志”;connect('weblogic', 'password', 't3://localhost:7001') edit() startEdit() cd('/Servers/AdminServer/Logging/AdminServer') cmo.setMaxFileSize(10000000) # 10MB cmo.setMaxBackupIndex(5) # 保留5个文件 save() activate() disconnect() crontab -e),添加每日凌晨1点清理7天前日志的任务:0 1 * * * find /path/to/weblogic/logs -type f -name "*.log" -mtime +7 -exec rm -f {} \; ```。 对于分布式环境或多台服务器,建议将日志集中收集到远程服务器进行分析,常用工具:
file插件读取WebLogic日志;logging.xml中的<log-handler>,设置remote属性),实现日志集中存储。保护日志不被篡改或泄露,提升安全性:
auditd工具监控WebLogic日志文件的访问(如/var/log/audit/audit.log),记录谁、何时访问了日志文件;root或weblogic用户,权限设置为640(如chown root:adm /path/to/weblogic/logs/*.log; chmod 640 /path/to/weblogic/logs/*.log)。