动态日志配置

通常应用使用logback、log4j等日志框架记录日志,通过日志配置文件配置日志级别,最终将日志内容输出到文件中。EDAS支持应用在运行时修改日志配置并生效。您可以在EDAS控制台创建日志配置,并添加配置内容(或通过抓取原有日志配置)和选择生效对象。启用后,新的配置立即生效。本文介绍如何进行动态日志配置。

前提条件

  • 已创建ECS应用。具体操作,请参见应用创建和部署概述(ECS)

  • 应用挂载的arms agent版本为≥2.9.0。

    说明

    使用EDAS创建的应用默认已挂载arms agent。您可登录应用实例,查看/home/admin/.opt/ArmsAgent/version检查arms agent版本。

使用限制

该功能支持的日志框架,以及完整的日志配置文件支持的格式如下:

  • log4j2:支持XML、YAML、JSON、Properties。

    说明

    YAML、JSON格式需应用本身包含日志框架所需类库,不明确的情况下,建议使用XML。

  • logback:支持XML。

您可使用完整的日志配置文件,包括任意的级别、日志输出等。只要是日志框架支持的配置,都可支持。

生效对象

ECS实例、应用分组、应用。

创建并启用日志配置

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 基本信息页面左侧导航栏,单击日志管理 >日志配置

  4. 根据当前应用使用的日志框架,单击添加日志配置,在添加log4j2日志配置添加logback日志配置面板配置日志信息,然后单击下一步image.jpeg

    1. 自定义日志名称以及日志描述。

    2. 配置来源

      • 从应用中抓取:将从指定运行中应用版本的一个实例抓取应用原始的日志配置,回显在配置内容输入框中。

      • 自定义:可直接将准备好的配置内容粘贴至配置内容输入框中。

相关操作

  • 启用:使该条配置对相应的生效对象起作用。

  • 禁用:使该条配置失效。失效后,次优先级的配置生效。若无生效记录,应用原始日志配置生效。

  • 恢复应用原始日志配置:将自动禁用所有记录的配置,恢复应用原始日志配置。

FAQ

如何恢复使用应用原始日志配置?

  • 方法一:

    动态日志配置页签,单击恢复应用原始日志配置

  • 方法二:

    log4j2日志框架logback日志框架区域的日志列表,单击操作列的禁用,手动禁用所有日志配置。

同时存在多个启用配置记录,哪个配置生效?

按优先级别生效:实例>应用分组>应用。

如何查看实例生效的日志配置信息?

  • 方法一:

    启用日志配置文件后,将以com.alibaba.agent.dynamic.log.config为Logger名称,INFO级别输出生效配置内容,如下图所示。image.jpeg

    说明

    以上日志内容的输出位置取决于对Logger com.alibaba.agent.dynamic.log.config的日志配置。

  • 方法二:

    /home/admin/.opt/ArmsAgent/路径下找到以.applied为名称开始的文件,即为当前生效的日志配置,否则为应用原始日志配置。

应用使用groovy脚本或编程方式进行日志配置,EDAS支持进行动态日志配置吗?

不支持。

若启用的日志配置格式存在问题,是否会导致日志失效?

如果启用日志配置文件后,无法配置相应的日志框架,则仍保持使用应用的原始日志配置。

说明

log4j2框架的YAML和JSON格式存在日志框架无法对格式进行有效验证,导致无法达到预期效果的情况。

抓取日志时,能抓取到Spring Boot的日志级别配置吗?

支持。