WebLogic在Debian中的日志管理指南
一、日志文件定位
WebLogic在Debian系统中的日志文件默认存储在域目录的logs子目录下,路径通常为/u01/app/weblogic/domain_name/logs/(具体路径取决于域的安装位置)。主要日志文件包括:
- server.log:记录服务器实例的常规运行信息(如启动/停止、请求处理、异常等);
- access.log:记录客户端HTTP访问请求(如URL、响应状态码、客户端IP等);
- diagnostic.log:记录诊断信息(如线程转储、内存使用、JDBC调用等),用于故障排查。
二、日志查看工具
1. 命令行工具
- 实时查看日志:使用
tail -f命令跟踪日志文件的最新内容(如tail -f /u01/app/weblogic/domain_name/logs/server.log); - 过滤关键信息:通过
grep命令筛选特定关键字(如grep "ERROR" /u01/app/weblogic/domain_name/logs/server.log可提取所有错误日志); - 查看系统日志:若WebLogic通过systemd管理,可使用
journalctl命令(如journalctl -u weblogic查看WebLogic服务的所有日志,journalctl --since "2025-11-01" --until "2025-11-09"查看指定时间范围的日志)。
2. 图形界面工具
可使用LogExpert(轻量级日志查看器)、KLog(KDE环境专用)等工具,支持日志过滤、高亮、分栏显示等功能,提升查看效率。
三、日志轮转配置
日志轮转用于防止日志文件过大占用磁盘空间,常用方法为logrotate工具(Debian自带)。
1. 安装logrotate
若未安装,可通过以下命令安装:
sudo apt-get update && sudo apt-get install logrotate
2. 创建WebLogic专用配置文件
在/etc/logrotate.d/目录下创建weblogic文件(如sudo vi /etc/logrotate.d/weblogic),添加以下配置(根据实际需求调整):
/u01/app/weblogic/domain_name/logs/*.log {
daily # 每天轮转一次(可选:weekly/monthly)
rotate 7 # 保留最近7个轮转文件
compress # 压缩旧日志(节省空间)
missingok # 若日志文件不存在,不报错
notifempty # 若日志为空,不轮转
create 640 weblogic weblogic # 新日志文件权限、属主、属组
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
/bin/kill -HUP `cat /u01/app/weblogic/domain_name/servers/AdminServer/tmp/.pid` 2>/dev/null || true
endscript
}
说明:postrotate脚本用于向WebLogic进程发送HUP信号,使其重新打开日志文件(避免日志写入中断)。
3. 测试与手动运行
- 测试配置是否正确:
sudo logrotate -vf /etc/logrotate.d/weblogic(-v显示详细过程,-f强制轮转); - 查看轮转日志:
tail -f /var/log/logrotate.log(监控logrotate的执行情况)。
四、日志级别设置
通过调整日志级别,可控制日志输出的详细程度(级别从低到高:TRACE→DEBUG→INFO→WARN→ERROR→FATAL)。
1. 修改logging.properties文件
路径为$DOMAIN_HOME/config/logging.properties,调整以下参数:
.level= INFO # 设置全局日志级别为INFO(默认)
com.example.level= FINEST # 设置特定包(如com.example)的日志级别为FINEST(详细)
说明:FINEST级别会记录最详细的调试信息,生产环境建议使用INFO或WARN以减少日志量。
2. 通过WebLogic控制台修改
- 登录WebLogic控制台(
http://);:7001/console - 导航至环境→服务器→<服务器名称>→日志→常规;
- 在“日志级别”下拉框中选择所需级别,点击“保存”并重启服务器使配置生效。
五、日志分析与监控
1. 集中化日志管理(ELK Stack)
使用ELK(Elasticsearch+Logstash+Kibana)实现日志的集中存储、分析与可视化:
- 安装ELK:
sudo apt-get install elasticsearch logstash kibana; - 配置Logstash:创建
/etc/logstash/conf.d/weblogic.conf文件,内容如下:input { file { path => "/u01/app/weblogic/domain_name/logs/server.log" start_position => "beginning" } } filter { grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{JAVACLASS:class} - %{GREEDYDATA:message}" } } } output { elasticsearch { hosts => ["localhost:9200"] index => "weblogic-%{+YYYY.MM.dd}" } } - 启动服务:
sudo systemctl start elasticsearch logstash kibana; - 访问Kibana:浏览器输入
http://,配置索引模式(如:5601 weblogic-*)即可查看、分析日志。
2. 日志监控与告警
通过ELK的“Alerts”功能或第三方工具(如Splunk、Prometheus+Granafa),设置日志关键词告警(如“ERROR”“Exception”),当出现关键错误时及时通知管理员。
六、日常维护技巧
- 定期清理旧日志:编写脚本删除超过30天的日志文件(如
find /u01/app/weblogic/domain_name/logs/ -type f -name "*.log" -mtime +30 -exec rm -f {} \;),并通过crontab -e添加定时任务(如每天凌晨执行:0 0 * * * /path/to/cleanup_script.sh); - 监控日志文件大小:使用
du -sh /u01/app/weblogic/domain_name/logs/*.log查看日志文件大小,若超过阈值(如1GB),及时触发轮转或扩容; - 备份重要日志:定期将
logs目录备份至异地(如tar -czvf /backup/weblogic_logs_$(date +%Y%m%d).tar.gz /u01/app/weblogic/domain_name/logs/),防止数据丢失。