Debian上WebLogic日志管理技巧
一 日志位置与快速查看
- 常见日志路径为域目录下的 $DOMAIN_HOME/logs,典型文件包括:server.log(服务器日志)、access.log(访问日志)、diagnostic.log(诊断日志)。实时排查可用:tail -f $DOMAIN_HOME/logs/server.log;关键字过滤可用:grep “ERROR” $DOMAIN_HOME/logs/server.log。系统层面可结合 /var/log/ 与 journalctl 查看与 WebLogic 相关的系统日志(如启动、停止、OOM 等),例如:journalctl -u weblogic 或查看时间范围:journalctl --since “2025-12-01” --until “2025-12-07”。
二 内置轮转与保留策略
- WebLogic 支持按大小或按时间轮转,并限制保留文件数。默认阈值:开发模式在启动时轮转,单个文件约 500 KB;生产模式在启动时不会轮转,单个文件约 5000 KB(约 5 MB)。可设置按大小或按时间触发、保留文件数、轮转目录,以及在文件名中加入 java.text.SimpleDateFormat 变量(如:myserver_%yyyy%%MM%%dd%%hh%%mm%.log)。此外,WebLogic 会设置 500 MB 的强制硬轮转阈值,防止日志无限增长。
三 使用 logrotate 管理历史日志
- 建议用 logrotate 对历史日志做压缩、归档与清理,避免磁盘被占满。示例配置 /etc/logrotate.d/weblogic(路径按实际调整):
/u01/app/weblogic/domain_name/logs/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 weblogic weblogic
sharedscripts
postrotate
# 可选:通知 WebLogic 重新打开日志文件(若通过脚本启动)
# systemctl kill -s USR1 weblogic || true
endscript
}
- 常用操作:手动测试 sudo logrotate -d /etc/logrotate.d/weblogic(调试);强制执行 sudo logrotate -f /etc/logrotate.d/weblogic;Debian 上 logrotate 通常已由系统定时任务每日运行,无需额外添加 cron。
四 日志级别与输出控制
- 通过 $DOMAIN_HOME/config/logging.properties 调整日志级别与输出格式,例如:
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
.level= INFO
com.example.level = FINEST
- 修改后需重启 WebLogic 使配置生效(如 $DOMAIN_HOME/bin/stopWebLogic.sh 与 startWebLogic.sh)。如使用 log4j/log4j2,可在相应配置中设置 RollingFileAppender 的 maxFileSize 与 maxBackupIndex 实现按大小滚动与保留数量控制。
五 集中监控与告警
- 小规模可用 ELK Stack(Elasticsearch + Logstash + Kibana) 或 Splunk 做集中化采集、检索与可视化告警。示例 Logstash 片段(按实际日志格式调整 grok 模式):
input {
file {
path => "/u01/app/weblogic/domain_name/logs/*.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}"
}
}
- 结合 Kibana 建立仪表盘与阈值告警规则,实现 ERROR/WARN 等关键事件的即时通知。