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