WebLogic在Debian中的日志管理指南
WebLogic在Debian系统中的日志文件默认存储在域目录的logs子目录下,路径通常为/u01/app/weblogic/domain_name/logs/(具体路径取决于域的安装位置)。主要日志文件包括:
tail -f命令跟踪日志文件的最新内容(如tail -f /u01/app/weblogic/domain_name/logs/server.log);grep命令筛选特定关键字(如grep "ERROR" /u01/app/weblogic/domain_name/logs/server.log可提取所有错误日志);journalctl命令(如journalctl -u weblogic查看WebLogic服务的所有日志,journalctl --since "2025-11-01" --until "2025-11-09"查看指定时间范围的日志)。可使用LogExpert(轻量级日志查看器)、KLog(KDE环境专用)等工具,支持日志过滤、高亮、分栏显示等功能,提升查看效率。
日志轮转用于防止日志文件过大占用磁盘空间,常用方法为logrotate工具(Debian自带)。
若未安装,可通过以下命令安装:
sudo apt-get update && sudo apt-get install logrotate
在/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信号,使其重新打开日志文件(避免日志写入中断)。
sudo logrotate -vf /etc/logrotate.d/weblogic(-v显示详细过程,-f强制轮转);tail -f /var/log/logrotate.log(监控logrotate的执行情况)。通过调整日志级别,可控制日志输出的详细程度(级别从低到高:TRACE→DEBUG→INFO→WARN→ERROR→FATAL)。
路径为$DOMAIN_HOME/config/logging.properties,调整以下参数:
.level= INFO # 设置全局日志级别为INFO(默认)
com.example.level= FINEST # 设置特定包(如com.example)的日志级别为FINEST(详细)
说明:FINEST级别会记录最详细的调试信息,生产环境建议使用INFO或WARN以减少日志量。
http://<server_ip>:7001/console);使用ELK(Elasticsearch+Logstash+Kibana)实现日志的集中存储、分析与可视化:
sudo apt-get install elasticsearch logstash kibana;/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;http://<server_ip>:5601,配置索引模式(如weblogic-*)即可查看、分析日志。通过ELK的“Alerts”功能或第三方工具(如Splunk、Prometheus+Granafa),设置日志关键词告警(如“ERROR”“Exception”),当出现关键错误时及时通知管理员。
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/),防止数据丢失。