作为一名背锅侠,当我们入职一个新公司,或者调到一个新项目的时候,一些服务的启动方式没有直接显示日志输出路径,当遇到问题,需要我们通过日志进行问题排查的时候,会有那么尴尬的时候,不知道日志存放在哪里?所以简单分享一下。
1. 第一步:查看进程的PID
Java进程的PID可以使用:jps 命令来查看(如果是一些其他的应用程序服务,直接使用:ps 过滤出对于的PID即可)
# jps 45024 egc-thirdpartyplatform-app-service-2.4.0.jar
以PID为 45024的Java进程为例,查看次进程的日志输出路径。
2. 第二步:通过PID 查看进程打开的文件
# ls /proc/45024/fd # fd目录介绍 此目录包含进程打开的所有文件,文件名为文件描述符,目录中每个软连接都会指向进程打开的实际文件
然后我们就可以过滤出此进程日志输出的存放路径(注意:建议日志文件都以 ".log"结尾)
$ ll /proc/45024/fd | grep "log" l-wx------ 1 root root 64 Oct 25 15:03 184 -> /data/logs/error/egc-thirdpartyplatform-app-9999-2020-10-26-0.log l-wx------ 1 root root 64 Oct 25 15:03 193 -> /data/logs/egc-thirdpartyplatform-app-9999-2020-10-26-0.log