您的位置:首页 >JSP在Ubuntu上如何进行日志分析
发布于2026-04-28 阅读(0)
扫一扫,手机访问

当你的JSP应用运行在Apache Tomcat上时,日志文件就是排查问题的第一现场。你得先知道去哪儿找它们。
/opt/tomcat/logs 或 /var/lib/tomcat9/logs,定位到目录后,再开始具体分析。面对海量日志,别慌。掌握几个命令行“组合拳”,就能快速定位问题。
tail -f catalina.out | egrep -i ‘error|exception|fail|warn|severe’grep “$(date ‘+%Y-%m-%d’)” catalina.out | egrep -i ‘error|exception’grep -o ‘HTTP/1.[01]" [0-9]{3}’ localhost.*.log | sort | uniq -c | sort -nr | headgrep -o ‘ja va.[a-zA-Z0-9_.]*Exception’ catalina.out | sort | uniq -c | sort -nr | headtail -n 100 catalina.out | grep --color=always -i ‘error|exception’grep ’ 5[0-9][0-9] ’ localhost.*.log | grep ‘1.2.3.4’ | tail -n 50less +F(交互式实时跟踪)、zless(直接查看.gz压缩归档)、以及awk/sed(用于字段提取和格式化输出)。在JSP/Servlet中直接使用System.out.println是条“野路子”。要想分析高效,必须从源头规范——使用成熟的日志框架。
<%@ page import=“org.apache.logging.log4j.LogManager” %><%@ page import=“org.apache.logging.log4j.Logger” %><% Logger logger = LogManager.getLogger(request.getServletPath()); %><% logger.info(“User {} accessed {}”, request.getRemoteAddr(), request.getRequestURI()); %>%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%nrequestId、用户ID、租户等关键字段。这种结构化操作,会让人在后面使用ELK、Graylog等工具进行检索、统计和关联分析时,效率获得质的提升。当服务器不止一台时,登录每台机器看日志就太原始了。集中化管理是必由之路。
rsyslog或syslog-ng,将各个Tomcat实例的日志统一发送到/var/log/syslog或一台专用的日志服务器上,便于集中审计。grok插件解析NCSA组合格式或自定义格式),通过date插件统一时间戳,然后送入Elasticsearch建立索引,最后在Kibana中进行炫酷的可视化和设置告警。
input {
file {
path => “/var/log/tomcat/localhost.*.log”
start_position => “beginning”
}
}
filter {
grok {
match => { “message” => “%{COMBINEDAPACHELOG}” }
}
date {
match => [ “timestamp”, “dd/MMM/yyyy:HH:mm:ss Z” ]
}
}
output {
elasticsearch {
hosts => [“localhost:9200”]
}
stdout {
codec => rubydebug
}
}
日志管理不能只关注“看”,更要关注“管”。否则,磁盘被日志撑爆只是时间问题。
/etc/logrotate.d/tomcat)如下:
/opt/tomcat/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 tomcat tomcat
sharedscripts
postrotate
systemctl try-reload-or-restart tomcat9 || true
endscript
}
sudo logrotate -vf /etc/logrotate.conftomcat:tomcat 0640),防止敏感信息泄露。System.out.println()或e.printStackTrace()。所有输出都应通过日志框架进行,并确保异常堆栈信息被完整记录。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9