CentOS环境下WebLogic日志如何管理
小樊
37
2026-01-11 02:37:24
CentOS 环境下 WebLogic 日志管理
一 日志位置与快速查看
- 日志默认位于域目录的 $DOMAIN_HOME/servers//logs,常见文件包括:
- Server log:如 AdminServer.log,记录服务器启动、运行与异常。
- Access log:如 access.log,记录 HTTP 访问明细。
- Domain log:如 <domain_name>.log,聚合域内重要事件。
- 快速查看与检索示例:
- 实时查看:tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
- 关键字检索:grep -i ERROR $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
- 进入日志目录:cd $DOMAIN_HOME/logs 或 cd $DOMAIN_HOME/servers//logs
- 说明:不同版本与安装路径命名略有差异,但以上路径结构在 WebLogic 9+ 均适用。
二 日志轮转与保留策略
- 控制台配置(推荐):
- 路径:Environment > Servers > > Logging > General
- 轮转方式:
- 按大小:设置 Rotation Type=By Size 与 Rotation File Size(如 5000 KB 起,生产模式默认)。
- 按时间:设置 Rotation Type=By Time、Begin Rotation Time 与 Rotation Interval(如每 24 小时)。
- 保留控制:勾选 Limit Number of Retained Files 并设置 Files to Retain(如保留 10 个)。
- 命名与目录:在 File Name 中加入 %yyyy%%MM%%dd%%hh%%mm% 生成时间戳;可在 Log File Rotation Directory 指定轮转文件目录。
- 生效:点击 Lock & Edit 修改后 Activate Changes;部分变更需重启。
- 重要默认与上限:
- 开发模式默认按大小 500 KB 轮转;生产模式默认按大小 5000 KB 轮转。
- 为防止日志过大,WebLogic 设置硬阈值 2,097,152 KB(约 2 GB),超过将强制执行硬轮转。
三 日志级别与输出控制
- 控制台调整(按处理器控制):
- 在 Servers > > Logging > General 中,可分别调整 Stdout Handler、File Handler 等的 Severity(如 INFO、WARNING、ERROR)。
- 示例:将 Stdout Handler 设为 NOTICE 或更高,可屏蔽 INFO/DEBUG 输出到控制台。
- 细粒度过滤与订阅:
- 通过 LogMBean 配置日志器与处理器,支持按严重级别与其他条件过滤;可用 Administration Console 或 WLST 操作,也可用启动参数如 -Dweblogic.log.StdoutSeverity=Debug 指定标准输出级别。
四 外部归档压缩与清理
- 在不重启服务的前提下安全清理运行日志:
- 备份并清空:crontab -e
- 每天零点备份并清空:0 0 * * * cp /path/file.log /bak/file.$(date -d yesterday +%Y%m%d).log; cat /dev/null > /path/file.log
- 每周日压缩并删除 91 天前:0 1 * * 0 cd /bak; find . -mtime +7 -exec tar cvf file.$(date -d yesterday +%Y%U).tar {} ; ; find . -mtime +91 -exec rm -f {} ;
- 使用 logrotate(可选,适合接管文件句柄稳定的场景):
- 新建配置:/etc/logrotate.d/weblogic
- /u01/app/weblogic/domain_name/logs/*.log {
- daily
- rotate 7
- missingok
- notifempty
- compress
- create 0644 weblogic weblogic
- copytruncate
- }
- 提示:对正在被进程占用的日志,优先使用 copytruncate 避免重启;若应用支持 SIGHUP 或提供专用滚动接口,可改用 postrotate 通知机制。
五 常见问题与最佳实践
- 避免直接删除正在写入的日志文件;运行中如需释放空间,优先使用 > file.log 或 logrotate copytruncate 方式清空。
- 合理设置保留数量与轮转阈值,结合磁盘容量与审计要求;必要时开启按时间轮转(如每日),便于归档与检索。
- 为 Stdout 设置合适级别(如 NOTICE 或 WARNING),减少控制台与轮转压力;应用日志与访问日志分开评估策略。
- 统一目录结构与命名规范,便于脚本化备份、压缩与清理;变更控制台日志参数后,关注是否需要重启以完全生效。