一、WebLogic日志位置
在CentOS系统中,WebLogic日志文件的默认路径基于域(Domain)结构,主要分为以下几类:
DOMAIN_HOME/servers/SERVER_NAME/logs/SERVER_NAME.log(如/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log);DOMAIN_HOME/servers/SERVER_NAME/logs/access.log;DOMAIN_HOME/servers/SERVER_NAME/logs/domain.log;setDomainEnv.sh配置,会重定向到DOMAIN_HOME/servers/SERVER_NAME/logs/stdout.log和stderr.log。二、日志轮转配置
日志轮转是防止日志文件无限增长的关键策略,CentOS下可通过WebLogic内置设置或logrotate工具实现:
通过WebLogic管理控制台或直接修改配置文件,可设置基于文件大小或时间间隔的轮转规则:
Rotation File Size);若选“按时间”,设置“开始轮转时间”(如00:00,对应Begin Rotation Time)和“轮转间隔”(如每天,对应Rotation Interval);Files to Retain);myserver_%yyyy%_%MM%_%dd%.log),便于归档管理。DOMAIN_HOME/config/config.xml中对应服务器的<log>标签,例如:<log>
<rotation-type>bySize</rotation-type>
<file-count>7</file-count>
<file-size>50000</file-size> <!-- 单位:KB -->
<name>myserver.log</name>
<directory>${DOMAIN_HOME}/servers/AdminServer/logs</directory>
</log>
修改后需重启WebLogic使配置生效。若需统一管理WebLogic与其他应用的日志,可使用CentOS自带的logrotate工具:
sudo yum install logrotate -y(默认已安装);/etc/logrotate.d/下新建weblogic文件,内容示例如下:/user_projects/domains/base_domain/servers/AdminServer/logs/*.log {
daily # 每天轮转
rotate 7 # 保留7个旧日志
compress # 压缩旧日志(gzip)
missingok # 日志不存在时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 新日志权限与属主
sharedscripts # 所有日志处理完后执行脚本
postrotate
/bin/kill -HUP $(cat /user_projects/domains/base_domain/servers/AdminServer/tmp/AdminServer.pid 2>/dev/null) 2>/dev/null || true
endscript
}
说明:postrotate脚本通过kill -HUP向WebLogic进程发送信号,使其重新打开日志文件;sharedscripts确保所有日志处理完成后再执行脚本,避免重复重启。三、日志级别调整
合理设置日志级别可平衡日志详细度与存储开销,避免无关日志占用过多空间:
INFO、WARNING、ERROR,生产环境建议设为WARNING或ERROR);DOMAIN_HOME/config/fmwconfig/servers/SERVER_NAME/logging/logging.xml,调整<logging-file-handler>的level属性(如<level>WARNING</level>)。四、日志集中管理
为便于统一分析与存储,可将WebLogic日志发送至集中式日志管理系统:
logstash.conf,添加WebLogic日志输入插件(如file插件),指定日志路径(如/user_projects/domains/base_domain/servers/AdminServer/logs/*.log),并设置解析规则(如grok解析);inputs.conf收集WebLogic日志,发送至Splunk Server进行集中管理、搜索与告警。五、日志安全与监控
chown -R weblogic:adm /user_projects/domains/base_domain/servers/AdminServer/logs
chmod -R 640 /user_projects/domains/base_domain/servers/AdminServer/logs/*.log
仅允许weblogic用户和adm组读取日志,防止未授权访问。auditd监控日志文件的修改与删除操作,配置审计规则(如-w /user_projects/domains/base_domain/servers/AdminServer/logs/ -p wa -k weblogic_logs),记录所有对日志目录的写操作,便于追踪日志篡改行为。tail -f或less +F实时查看日志(如tail -f /user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log),或结合grep过滤关键信息(如grep "ERROR" /path/to/log),快速定位异常。六、日常维护技巧
tail、grep等命令定期查看日志,重点关注ERROR、WARNING级别的日志,及时处理异常;find命令:find /path/to/logs -name "*.log.*" -mtime +30 -exec rm -f {} \;);