JSP日志的位置取决于应用部署方式和日志框架配置,常见路径包括:
$CATALINA_BASE/logs目录下,主要文件包括:
catalina.out:Tomcat标准输出/错误的汇总日志(包含JSP运行错误);localhost.<date>.log:JSP页面及Servlet的访问和错误日志;manager.<date>.log/host-manager.<date>.log:Tomcat管理界面的日志。log4j.properties或logback.xml中配置(如/var/log/jsp/myapp.log)。/var/log/messages(CentOS 7及以下)或/var/log/syslog(CentOS 8及以上)查看,使用grep -i "java"过滤Java相关日志。tail -f命令实时跟踪日志文件的新增内容(如Tomcat的catalina.out):tail -f /path/to/tomcat/logs/catalina.out
grep命令筛选关键字(如“ERROR”表示错误日志、“INFO”表示信息日志):grep "ERROR" /var/log/jsp/myapp.log # 筛选自定义日志中的错误
grep "JSP" /var/log/messages # 筛选系统日志中的JSP相关记录
jps命令找到进程ID(PID),再查看进程的标准输出/错误:jps # 列出所有Java进程及PID
cat /proc/<PID>/fd/1 # 查看进程的标准输出(1为stdout,2为stderr)
journalctl查看系统日志(适用于CentOS 7及以上),可过滤特定服务的日志(如Tomcat服务名为tomcat):journalctl -u tomcat -n 100 # 查看Tomcat最近的100条日志
journalctl -u tomcat --since "1 hour ago" # 查看过去1小时的Tomcat日志
awk、sed等工具提取关键信息(如时间、错误类型、请求URL):awk '/ERROR/ {print $1, $2, $3, $NF}' /var/log/jsp/myapp.log # 提取错误日志的时间、级别和最后字段(如错误消息)
sed -n '/2025-09-20 10:00:00/,/2025-09-20 11:00:00/p' /var/log/catalina.out # 提取指定时间段的日志
logrotate工具自动压缩、备份旧日志,避免日志文件过大占用磁盘空间。创建/etc/logrotate.d/jsp配置文件(示例):/var/log/jsp/*.log {
daily # 每天轮转
rotate 30 # 保留30天的日志
compress # 压缩旧日志(如.gz格式)
missingok # 若日志不存在也不报错
notifempty # 若日志为空则不轮转
create 0644 root root # 创建新日志文件的权限和所有者
}
/var/log/jsp/*.log),解析后发送到Elasticsearch;logwatch生成每日日志报告(包含错误统计),并通过邮件发送:yum install logwatch -y
logwatch --output mail --mailto your_email@example.com --service http # 监控HTTP服务日志
log4j.rootLogger=INFO调整为DEBUG以获取更详细日志,或ERROR以仅记录错误)。sudo查看/var/log/messages)。rotate 30保留30天)和压缩方式(如compress)。