在Debian系統中,WebLogic的日志文件默認存放在域目錄的logs
子目錄下(路徑通常為$DOMAIN_HOME/logs
),主要包含以下類型:
server.log
:記錄服務器常規運行信息(如啟動/停止、請求處理);access.log
:記錄客戶端HTTP訪問請求(如URL、響應狀態碼);diagnostic.log
:記錄診斷信息(如故障排查、性能數據)。Debian的命令行工具可高效處理日志文件:
tail -f /path/to/server.log
實時跟蹤日志輸出;grep "ERROR" /path/to/server.log
篩選錯誤日志;awk '/ERROR/ {print $1, $2}' /path/to/server.log | wc -l
統計某時間段的錯誤數量;less /path/to/server.log
逐頁瀏覽大日志文件。通過logrotate
工具自動化管理日志輪轉,避免日志占滿磁盤:
sudo apt-get install logrotate
;/etc/logrotate.d/
下新建weblogic
文件,內容示例如下:/path/to/weblogic/logs/*.log {
daily # 每天輪轉
rotate 7 # 保留7個歷史日志
compress # 壓縮舊日志(節省空間)
missingok # 日志不存在時不報錯
notifempty # 日志為空時不輪轉
create 0644 weblogic weblogic # 新日志權限與屬主
sharedscripts # 所有日志輪轉完成后執行腳本
postrotate
/bin/kill -HUP $(cat /path/to/weblogic/logs/weblogic.pid 2>/dev/null) 2>/dev/null || true
endscript
}
該配置會每天輪轉日志,保留7天,并通過kill -HUP
通知WebLogic重新打開日志文件。根據需求調整日志級別,減少不必要的日志輸出(如生產環境建議設為INFO
,調試時設為DEBUG
):
TRACE
、DEBUG
、INFO
、WARN
、ERROR
、FATAL
);$DOMAIN_HOME/config/logging.properties
,調整.level
參數(如.level=INFO
)。通過ELK(Elasticsearch+Logstash+Kibana)堆棧集中管理日志,實現搜索、分析與可視化:
/etc/logstash/conf.d/weblogic.conf
,內容示例如下:input {
file {
path => "/path/to/weblogic/logs/server.log"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{THREAD:thread} %{JAVACLASS:class} - %{GREEDYDATA:message}" }
}
date {
match => ["timestamp", "ISO8601"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "weblogic-%{+YYYY.MM.dd}"
}
}
/etc/kibana/kibana.yml
,設置elasticsearch.hosts: ["http://localhost:9200"]
,重啟Kibana后即可通過瀏覽器訪問http://<服務器IP>:5601
,創建儀表盤展示日志趨勢、錯誤分布等。設置監控機制及時發現日志異常:
cron
作業每天檢查日志文件大小,若超過閾值(如1GB)則發送警告:0 0 * * * du -sh /path/to/weblogic/logs/*.log | awk '{if($1 > "1G") print "Log file too large: "$2}'
通過LogFormat
指令(Apache HTTP Server)或WebLogic日志配置,統一日志格式便于解析:
access.log
配置中添加LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
,規范訪問日志字段(如IP、時間、請求方法、響應狀態);logging.properties
調整java.util.logging.SimpleFormatter.format
參數(如%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s %2$s %5$s%6$s%n
),統一服務器日志格式。