重启应用服务器后没有生成日志文件(log_level 为非 off 时)

Jerry 发表于 2015年06月10日 15:13 最后修改于 2015年07月24日 12:24

本篇文档基于 log_level 为非 off 的基础上,详情见 Java Agent 参数配置

故障说明

您的 OneAPM Agent 无日志文件生成。

解决方案

通过检查以下几项,确保您 OneAPM Java Agent 能够生成 oneapm.log 文件。

日志文件目录

OneAPM Java Agent 默认将日志文件存储在 logs 目录下。Java Agent 会在 -javaagent 选项中的 oneapm.jar 同一位置创建 logs 目录。如果您未能找到 oneapm.log 文件,确保 JVM 进程有写入 logs 目录的权限。如果已有写入权限,则需要您检查是否自定义了 logs 目录的位置。

提示:可以通过设置 log_file_path 和 log_file_name 参数,来指定一个不同的日志文件目录和名称。更多信息,请查看 Java agent 参数配置

配置文件

建议:使用 YAML validator,检查 oneapm.properites 配置文件是否有效。使用后,该工具将自动删除注释,使参数文件易于理解和查看。

Boot 日志

启动 App 服务器,以便打印数据到控制台。下面是部分例子的存放位置:

  • JBoss: log/boot.log

  • Glassfish: domain-dir/logs/server.log

  • Tomcat: catalina.out (指定 catalina.sh 或 catalina.bat)

  • WebLogic: server_name.log

  • WebObjects: /var/log/webobjects.log

当启动 JVM 时,产生的日志中会显示 oneapm.jar 文件被访问,以及 Agent 解析 oneapm.properites 配置文件。因此,在该日志中,您可以看到 JVM 启动是否抛出异常。

若 Agent 加载成功,会出现如下信息:

权限

有时启动 Java Agent,会出现无法写入日志的现象。这是因为 Agent 不具备创建日志目录和日志文件的权限。随着环境的变化,权限也会有所变动,因此您可能需要和系统管理员商讨来解决权限这一问题。

回复

您需要登录后才可以回复