JAVA系统磁盘打满
问题描述:
线上一个JAVA系统频繁报磁盘写满告警,然后观察我们自己的业务日志文件,文件内容都不是很大,于是通过堡垒机登陆服务器,发现根目录有个很大的日志文件,于是检查我们自己的日志配置,我们的日志配置路径都没有配置这个根目录,而且我们用的是logback日志组件。
问题排查过程:
打开未知来源的日志文件内容,确实是我们自己的java系统写入的日志内容,但是我们自己没有定义这个日志路径和日志文件名,于是猜测系统依赖的jar包内也有一个日志配置文件。
于是便通过文档遍历扫所所有jar包内的日志配置文件,结果在一个第三方jar包内部真的找到一个log4j.xml配置文件,里边配置的root日志级别为debug,日志输出目录是系统根目录,日志文件名也都可以匹配,于是便查找该jar包的来源,发现是被其他jar包传递依赖进来的,也不是我们自己手动依赖的。
解决方案
排除有问题的jar包依赖即可。
总结:
- 以后在引入第三方jar包的时候一定要检查他的依赖范围,看是否会与现有系统的jar包有冲突或者带来其他的影响。
- 对外提供第三方jar包的时候,不要把自己的调试代码和日志配置测试文件也打入jar包内。
网友评论