1. 定位WebLogic日志文件
Debian系统中,WebLogic日志默认存储在域目录的logs子目录下(路径通常为/u01/app/weblogic/domain_name/logs/或/u01/oracle/user_projects/domains/<domain_name>/servers/<server_name>/logs/)。主要日志文件包括:
2. 查看日志文件
使用命令行工具快速查看日志内容:
tail -f命令跟踪日志文件的最新更新(如tail -f /u01/app/weblogic/domain_name/logs/server.log);grep命令筛选特定内容(如查找ERROR级别的日志:grep "ERROR" /u01/app/weblogic/domain_name/logs/server.log);journalctl -u weblogic查看其系统日志(需确认服务单元名称正确)。3. 配置日志轮转
避免日志文件过大占用磁盘空间,可通过以下两种方式实现自动轮转:
logrotate是Debian系统自带的日志管理工具,可定期轮转、压缩和清理日志文件。
sudo apt-get install logrotate;/etc/logrotate.d/目录下新建weblogic文件(如sudo vi /etc/logrotate.d/weblogic),添加以下内容(根据实际路径调整):/u01/app/weblogic/domain_name/logs/*.log {
daily # 每天轮转一次
rotate 7 # 保留最近7个轮转文件
compress # 压缩旧日志(使用gzip)
missingok # 若日志文件不存在,不报错
notifempty # 若日志为空,不轮转
create 0644 weblogic weblogic # 新日志文件权限及属主
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
/bin/kill -HUP `cat /u01/app/weblogic/domain_name/servers/AdminServer/tmp/AdminServer.pid 2>/dev/null` 2>/dev/null || true
endscript
}
说明:postrotate脚本用于向WebLogic进程发送HUP信号,使其重新打开日志文件(避免日志丢失)。sudo logrotate -vf /etc/logrotate.d/weblogic验证配置是否正确;/etc/cron.daily/logrotate每日自动运行,无需额外配置。WebLogic自身支持日志轮转,可通过管理控制台或配置文件调整:
http://<server_ip>:7001/console);环境 > 服务器 > <服务器名称> > 日志 > 常规;旋转文件大小(如500MB),超过则轮转;开始旋转时间(如00:00)和旋转间隔(如每天);config/config.xml或config/fmwconfig/servers/<server_name>/logging.xml,调整<file-handler>标签的file-name、rotation-policy等参数(如<file-name>server.log</file-name>、<rotation-policy>bySize</rotation-policy>)。4. 日志分析与监控
为提升运维效率,可通过以下工具实现日志的集中管理与分析:
/etc/logstash/conf.d/weblogic.conf文件,定义日志输入、过滤和输出规则(示例):input {
file {
path => "/u01/app/weblogic/domain_name/logs/server.log"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{THREAD:thread} %{CLASS:class} %{MESSAGE:message}" }
}
date {
match => ["timestamp", "ISO8601"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "weblogic-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
sudo systemctl start elasticsearch logstash kibana,通过Kibana Web界面(http://<server_ip>:5601)可视化分析日志。Graylog是开源的日志管理平台,支持集中收集、存储和搜索日志:
sudo apt-get install graylog-server);/etc/graylog/server/conf/server.conf,设置输入源(如Syslog、File)和索引策略;http://<server_ip>:9000登录,实现日志搜索、仪表板和警报设置。5. 日志清理
定期清理旧日志以释放磁盘空间,可通过以下方式实现:
rm命令删除指定日期前的日志(如find /u01/app/weblogic/domain_name/logs/ -name "*.log" -mtime +30 -exec rm -f {} \;);cleanup_weblogic_logs.sh,添加执行权限(chmod +x cleanup_weblogic_logs.sh),并通过crontab -e添加定时任务(如每天凌晨2点执行:0 2 * * * /path/to/cleanup_weblogic_logs.sh)。