WebLogic在Linux上的日志管理技巧
WebLogic在Linux系统中的日志文件按类型和实例分布在域目录下,常见路径如下:
$DOMAIN_HOME/servers/<server_name>/logs/server.log(如AdminServer.log);$DOMAIN_HOME/servers/<server_name>/logs/access.log;$DOMAIN_HOME/servers/<server_name>/logs/domain.log。使用Linux命令行工具快速查看和分析日志:
tail -f /path/to/server.log(实时跟踪日志末尾内容);tail -n 100 /path/to/server.log(查看最后100行);grep "ERROR" /path/to/server.log(筛选包含“ERROR”的行);less /path/to/server.log(支持上下翻页、搜索);journalctl -u weblogic查看服务日志。防止日志文件过大占用磁盘空间,常用两种方式:
sudo yum install logrotate(CentOS)或sudo apt-get install logrotate(Debian);/etc/logrotate.d/下创建weblogic文件,内容示例如下:/path/to/weblogic/domain/logs/*.log {
daily # 每天轮转
rotate 7 # 保留7个历史文件
compress # 压缩旧文件(.gz格式)
missingok # 文件不存在时不报错
notifempty # 文件为空时不轮转
create 640 root adm # 新文件权限(属主root,属组adm)
sharedscripts # 所有日志处理完后执行脚本
postrotate
/bin/kill -HUP $(cat /path/to/weblogic/domain/logs/weblogic.pid) 2>/dev/null || true
endscript
}
sudo logrotate -f /etc/logrotate.d/weblogic(强制立即轮转);tail -f /var/log/logrotate.log(查看轮转日志)。$DOMAIN_HOME/config/logging.properties;FileHandler配置,控制单个文件大小和保留数量:java.util.logging.FileHandler.pattern = %h/weblogic.%g.log # 文件名模板(%g为序号)
java.util.logging.FileHandler.limit = 10485760 # 单个文件大小(10MB)
java.util.logging.FileHandler.count = 5 # 保留文件数
通过修改logging.xml(位于$DOMAIN_HOME/config/fmwconfig/servers/<server_name>/logs/)调整日志级别,控制日志详细程度:
logging.xml,找到<log-level>标签,修改为所需级别(如FINE、INFO、WARNING、SEVERE);awk、grep组合提取关键信息,例如统计2025-05-16的错误日志数量:awk '/ERROR/ && $1=="2025-05-16"' /path/to/server.log | wc -l
top、htop查看系统负载,mpstat、iostat监控CPU、磁盘I/O,及时发现性能瓶颈;grep定期扫描日志中的关键字(如“ERROR”“OutOfMemoryError”),结合cron定时任务发送告警邮件;tar命令归档日志目录,例如:sudo tar -czvf /backup/weblogic_logs_$(date +%Y%m%d).tar.gz /path/to/weblogic/logs/
sudo tar -xzvf /backup/weblogic_logs_20250516.tar.gz -C /path/to/weblogic/logs/