動態(tài)日志配置
通常應(yīng)用使用logback、log4j等日志框架記錄日志,通過日志配置文件配置日志級別,最終將日志內(nèi)容輸出到文件中。EDAS支持應(yīng)用在運行時修改日志配置并生效。您可以在EDAS控制臺創(chuàng)建日志配置,并添加配置內(nèi)容(或通過抓取原有日志配置)和選擇生效對象。啟用后,新的配置立即生效。本文介紹如何進(jìn)行動態(tài)日志配置。
前提條件
已創(chuàng)建ECS應(yīng)用。具體操作,請參見應(yīng)用創(chuàng)建和部署概述(ECS)。
應(yīng)用掛載的arms agent版本為≥2.9.0。
說明使用EDAS創(chuàng)建的應(yīng)用默認(rèn)已掛載arms agent。您可登錄應(yīng)用實例,查看
/home/admin/.opt/ArmsAgent/version
檢查arms agent版本。
使用限制
該功能支持的日志框架,以及完整的日志配置文件支持的格式如下:
log4j2:支持XML、YAML、JSON、Properties。
說明YAML、JSON格式需應(yīng)用本身包含日志框架所需類庫,不明確的情況下,建議使用XML。
logback:支持XML。
您可使用完整的日志配置文件,包括任意的級別、日志輸出等。只要是日志框架支持的配置,都可支持。
生效對象
ECS實例、應(yīng)用分組、應(yīng)用。
創(chuàng)建并啟用日志配置
- 登錄EDAS控制臺。
- 在左側(cè)導(dǎo)航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務(wù)空間,然后在應(yīng)用列表頁面單擊具體的應(yīng)用名稱。
在基本信息頁面左側(cè)導(dǎo)航欄,單擊日志管理 >日志配置。
根據(jù)當(dāng)前應(yīng)用使用的日志框架,單擊添加日志配置,在添加log4j2日志配置或添加logback日志配置面板配置日志信息,然后單擊下一步。
自定義日志名稱以及日志描述。
配置來源:
從應(yīng)用中抓取:將從指定運行中應(yīng)用版本的一個實例抓取應(yīng)用原始的日志配置,回顯在配置內(nèi)容輸入框中。
自定義:可直接將準(zhǔn)備好的配置內(nèi)容粘貼至配置內(nèi)容輸入框中。
相關(guān)操作
啟用:使該條配置對相應(yīng)的生效對象起作用。
禁用:使該條配置失效。失效后,次優(yōu)先級的配置生效。若無生效記錄,應(yīng)用原始日志配置生效。
恢復(fù)應(yīng)用原始日志配置:將自動禁用所有記錄的配置,恢復(fù)應(yīng)用原始日志配置。
FAQ
如何恢復(fù)使用應(yīng)用原始日志配置?
方法一:
在動態(tài)日志配置頁簽,單擊恢復(fù)應(yīng)用原始日志配置。
方法二:
在log4j2日志框架或logback日志框架區(qū)域的日志列表,單擊操作列的禁用,手動禁用所有日志配置。
同時存在多個啟用配置記錄,哪個配置生效?
按優(yōu)先級別生效:實例>應(yīng)用分組>應(yīng)用。
如何查看實例生效的日志配置信息?
方法一:
啟用日志配置文件后,將以
com.alibaba.agent.dynamic.log.config
為Logger名稱,INFO級別輸出生效配置內(nèi)容,如下圖所示。說明以上日志內(nèi)容的輸出位置取決于對
Logger com.alibaba.agent.dynamic.log.config
的日志配置。方法二:
在
/home/admin/.opt/ArmsAgent/
路徑下找到以.applied
為名稱開始的文件,即為當(dāng)前生效的日志配置,否則為應(yīng)用原始日志配置。
應(yīng)用使用groovy腳本或編程方式進(jìn)行日志配置,EDAS支持進(jìn)行動態(tài)日志配置嗎?
不支持。
若啟用的日志配置格式存在問題,是否會導(dǎo)致日志失效?
如果啟用日志配置文件后,無法配置相應(yīng)的日志框架,則仍保持使用應(yīng)用的原始日志配置。
log4j2框架的YAML和JSON格式存在日志框架無法對格式進(jìn)行有效驗證,導(dǎo)致無法達(dá)到預(yù)期效果的情況。
抓取日志時,能抓取到Spring Boot的日志級別配置嗎?
支持。