Ubuntu上JSP應用日志查看方法
JSP應用的日志通常分布在以下路徑,具體取決于Web服務器(如Tomcat)和應用自身的配置:
/var/log/tomcat9/ 目錄下(如 catalina.out 記錄標準輸出/錯誤,localhost_access_log.*.txt 記錄訪問日志);/var/log/syslog 或 journalctl 查看;src/main/resources/log4j2.xml(或對應配置文件)中指定(如 logs/app.log)。實時查看日志文件的最新內容,適用于監控實時日志(如錯誤或請求):
# 查看Tomcat主日志的最后20行
tail -n 20 /var/log/tomcat9/catalina.out
# 實時監控日志更新(按Ctrl+C停止)
tail -f /var/log/tomcat9/catalina.out
過濾日志中的關鍵字(如“ERROR”“404”),快速定位問題:
# 查找包含“ERROR”的日志行
grep "ERROR" /var/log/tomcat9/catalina.out
# 統計“ERROR”出現的次數
grep -c "ERROR" /var/log/tomcat9/catalina.out
分頁查看大型日志文件,支持上下滾動(↑/↓)、搜索(/keyword)和退出(q):
less /var/log/tomcat9/catalina.out
若應用作為systemd服務運行(如Tomcat),可通過journalctl查看系統級日志:
# 查看Tomcat服務的日志(服務名需替換為實際名稱,如tomcat9)
sudo journalctl --unit=tomcat9
# 實時監控服務日志
sudo journalctl --unit=tomcat9 -f
若應用使用Log4j2、Logback等框架,日志通常輸出到自定義文件(如 logs/app.log)。需先確認框架配置(如 log4j2.xml 中的 <File> 節點),再用上述命令查看:
# 假設應用日志路徑為/var/log/myapp/app.log
tail -f /var/log/myapp/app.log
示例Log4j2配置(src/main/resources/log4j2.xml):
<Configuration>
<Appenders>
<File name="File" fileName="/var/log/myapp/app.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>
避免日志文件過大,可使用 logrotate 工具(Ubuntu默認安裝):
# 編輯Tomcat日志輪換配置(/etc/logrotate.d/tomcat9)
sudo nano /etc/logrotate.d/tomcat9
# 示例配置(按天分割,保留7天)
/var/log/tomcat9/catalina.out {
daily
rotate 7
compress
missingok
notifempty
}
通過Elasticsearch、Logstash、Kibana實現日志的集中存儲、分析和可視化:
sudo apt install elasticsearch logstash kibana;/etc/logstash/conf.d/logstash.conf):input { file { path => "/var/log/tomcat9/catalina.out" start_position => "beginning" } }
filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } }
output { elasticsearch { hosts => ["localhost:9200"] } }
http://localhost:5601)查看日志。tomcat9):sudo chown -R tomcat9:tomcat9 /var/log/tomcat9/
logging.properties(/etc/tomcat9/logging.properties)提高級別:org.apache.catalina.level = FINE