Java日志在CentOS上的常见故障及排查步骤
log4j.properties/log4j.xml、Logback的logback.xml),并核对日志级别(如DEBUG/INFO/ERROR)是否设置为输出所需日志(如开发环境用DEBUG,生产环境用INFO)。File或Path参数(如logback.xml中的<file>logs/app.log</file>),确保路径存在且有写入权限(使用ls -l /path/to/log查看权限,chmod 644 /path/to/log修改权限)。logger.info("test")),避免因代码逻辑问题(如条件判断未执行)导致日志未生成。ls -l /path/to/logfile.log查看日志文件的所有者,确保运行Java应用的用户(如tomcat、root)拥有写入权限(如-rw-r--r--中的第一个w)。chmod 644 /path/to/logfile.log添加写入权限,或用chown tomcat:tomcat /path/to/logfile.log将所有者改为运行应用的用户。pom.xml),确保只包含一个日志框架(如Log4j或Logback),避免同时引入多个框架(如同时有log4j-core和logback-classic)导致冲突。dependencyManagement指定统一的实现(如Logback),并在配置文件中排除其他框架的绑定(如Log4j的<exclusions>标签)。ERROR或WARN信息,需降低日志级别。通过配置文件修改(如logback.xml中<root level="DEBUG">),或在启动命令中添加参数(如-Dlogging.level.root=DEBUG)临时调整。logrotate工具管理日志文件,编辑/etc/logrotate.d/java_app(自定义配置文件),添加以下内容实现每日轮转、压缩和保留7天:/path/to/application.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
重启logrotate服务(systemctl restart logrotate)使配置生效。top查看CPU使用率,free -m查看内存剩余,df -h查看磁盘空间(确保/分区有足够空间,建议保留20%以上)。-Xms512m -Xmx1024m),增加堆内存大小(-Xms为初始内存,-Xmx为最大内存)。src/main/resources目录,打包后位于WEB-INF/classes或BOOT-INF/classes),或在启动命令中通过-D参数指定路径(如-Dlog4j.configuration=file:/path/to/log4j.properties)。tail -f /path/to/logfile.log实时跟踪日志输出,用grep "ERROR" /path/to/logfile.log筛选错误信息。