日誌框架適配與運行時管理
適配 Dubbo 中的日誌框架,並支援在運行時動態切換使用的日誌框架
功能描述
日誌框架適配。自 `2.2.1` 版本起,dubbo 內建適配了 log4j、slf4j、jcl 和 jdk 日誌框架。
日誌框架運行時管理,自 `3.0.10` 版本起,dubbo-qos 運行時管理支援查詢日誌設定,並動態修改使用的日誌框架和日誌級別。
dubbo-qos 修改的日誌設定不會持久化儲存,應用程式重新啟動後將失效。
使用場景
使用方法
日誌框架適配
可以通過以下方式明確設定日誌輸出策略
1. 命令列
java -Ddubbo.application.logger=log4j
2. 在 `dubbo.properties` 中指定
dubbo.application.logger=log4j
3. 在 `dubbo.xml` 中設定
<dubbo:application logger="log4j" />
關於自訂擴充,請參考 日誌適配器擴充
日誌框架運行時管理
1. 查詢日誌設定
命令:`loggerInfo`
範例
> telnet 127.0.0.1 22222
> loggerInfo
輸出
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
___ __ __ ___ ___ ____
/ _ \ / / / // _ ) / _ ) / __ \
/ // // /_/ // _ |/ _ |/ /_/ /
/____/ \____//____//____/ \____/
dubbo>loggerInfo
Available logger adapters: [jcl, jdk, log4j, slf4j]. Current Adapter: [log4j]. Log level: INFO
2. 修改日誌級別
命令:`switchLogLevel {level}`
level:`ALL`、`TRACE`、`DEBUG`、`INFO`、`WARN`、`ERROR`、`OFF`
範例
> telnet 127.0.0.1 22222
> switchLogLevel WARN
輸出
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
___ __ __ ___ ___ ____
/ _ \ / / / // _ ) / _ ) / __ \
/ // // /_/ // _ |/ _ |/ /_/ /
/____/ \____//____//____/ \____/
dubbo>loggerInfo
Available logger adapters: [jcl, jdk, log4j, slf4j]. Current Adapter: [log4j]. Log level: INFO
dubbo>switchLogLevel WARN
OK
dubbo>loggerInfo
Available logger adapters: [jcl, jdk, log4j, slf4j]. Current Adapter: [log4j]. Log level: WARN```
3. 修改日誌輸出框架
命令:`switchLogger {loggerAdapterName}`
loggerAdapterName:`slf4j`、`jcl`、`log4j`、`jdk`、`log4j2`
範例
> telnet 127.0.0.1 22222
> switchLogger slf4j
輸出
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
___ __ __ ___ ___ ____
/ _ \ / / / // _ ) / _ ) / __ \
/ // // /_/ // _ |/ _ |/ /_/ /
/____/ \____//____//____/ \____/
dubbo>loggerInfo
Available logger adapters: [jcl, slf4j, log4j, jdk]. Current Adapter: [log4j]. Log level: INFO
dubbo>switchLogger slf4j
OK
dubbo>loggerInfo
Available logger adapters: [jcl, slf4j, log4j, jdk]. Current Adapter: [slf4j]. Log level: INFO
最後修改日期:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)