悠悠楠杉
CentOS中WebLogic日志级别深度调整指南
一、WebLogic日志系统架构解析
在CentOS服务器上部署的WebLogic(以12c为例)采用分层日志体系:
1. 域日志(Domain Log)默认路径:/u01/app/oracle/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log
2. 服务器日志(Server Log)包含HTTP访问记录
3. 子模块日志(如JDBC、JMS等)
其日志级别从低到高分为:
plaintext
TRACE → DEBUG → INFO → NOTICE → WARNING → ERROR → CRITICAL
二、核心配置文件定位
关键配置文件路径(假设安装目录为/u01/app/
):bash
主配置文件
/u01/app/oracle/weblogic/userprojects/domains/basedomain/config/config.xml
日志专属配置
/u01/app/oracle/weblogic/wlserver/common/deployable-libraries/weblogic-diagnostics.xml
三、实操调整步骤(SSH终端操作)
方法1:通过管理控制台(推荐图形界面)
bash
先启动管理服务
cd /u01/app/oracle/weblogic/userprojects/domains/basedomain/
nohup ./startWebLogic.sh &
1. 访问https://服务器IP:9001/console
2. 导航至:环境 > 服务器 > [目标服务器] > 日志记录
3. 修改"日志级别"下拉框,如设置为DEBUG
4. 勾选"将调试启用传播到子模块"
方法2:手动编辑配置文件(适用于无GUI环境)
bash
vi /u01/app/oracle/weblogic/user_projects/domains/base_domain/config/logging.properties
修改关键参数:
properties
handlers=weblogic.logging.ServerLoggingHandler
.level=DEBUG
weblogic.logging.ServerLoggingHandler.level=FINEST
oracle.level=WARNING
方法3:运行时动态调整(无需重启)
通过WLST工具:
bash
java weblogic.WLST
connect('weblogic','密码','t3://localhost:7001')
setLogLevel(target='AdminServer',logger='weblogic',level='DEBUG')
exit()
四、高级调试技巧
定向模块日志(仅记录JDBC组件)
java setLogLevel(target='AdminServer',logger='weblogic.jdbc',level='TRACE')
日志轮转配置
xml <log-rotation> <file-size>20</file-size> <!-- 单位MB --> <rotate-on-startup>true</rotate-on-startup> </log-rotation>
Syslog集成(将日志转发至中央日志服务器)
bash vi /etc/rsyslog.conf 添加:local3.* @@192.168.1.100:514
五、性能影响与监控建议
调试级别开销:
- DEBUG级别可能增加15-20% CPU负载
- TRACE级别可能导致吞吐量下降30%
监控指标:bash
实时观察日志增长
watch -n 5 'du -sh /u01/app/oracle/weblogic/userprojects/domains/basedomain/servers//logs/.log'
日志异常检测
grep -E 'ERROR|CRITICAL' AdminServer.log | awk -F' ' '{print $1,$2,$5}' | sort | uniq -c
- 推荐生产环境配置:
properties .level=INFO weblogic.security=WARNING javax.enterprise.resource.webcontainer.jsf.managedbean=SEVERE
六、故障排查案例
问题现象:修改日志级别后未生效
排查步骤:
1. 检查managed-servers.xml
是否同步配置
2. 验证文件权限:ls -l /u01/app/oracle/weblogic/user_projects/domains/base_domain/servers/
3. 查看进程加载参数:ps -ef | grep WebLogic | grep -v grep
典型解决方案:bash
清除临时配置文件
rm -f /u01/app/oracle/weblogic/userprojects/domains/basedomain/servers/AdminServer/tmp/WLinternal/*.DAT
七、安全注意事项
敏感信息过滤:
xml <logging-filter> <filter-rule> <match-expression>credit_card=\d{16}</match-expression> <replacement-string>credit_card=****</replacement-string> </filter-rule> </logging-filter>
日志文件权限设置:
bash chmod 640 *.log chown oracle:oinstall *.log