From f97feb32c4b6ddca1617ae53935bf854054499ae Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Tue, 14 Jun 2022 10:38:54 +0100 Subject: [PATCH] Add docs for mirai-console Logging and update UserManual --- docs/UserManual.md | 28 ++++++++++++ mirai-console/docs/Logging.md | 63 ++++++++++++++++++++++++++ mirai-console/docs/plugin/JVMPlugin.md | 38 +--------------- 3 files changed, 92 insertions(+), 37 deletions(-) create mode 100644 mirai-console/docs/Logging.md diff --git a/docs/UserManual.md b/docs/UserManual.md index cfad5debb..f76827ce2 100644 --- a/docs/UserManual.md +++ b/docs/UserManual.md @@ -127,6 +127,34 @@ Mirai Console 内置一些指令,输入 `?` 并回车可以查看指令列表 详见 [`PermissionCommand`](/mirai-console/docs/BuiltInCommands.md#permissioncommand) +### 配置 + +Mirai Console 支持一些自定义配置。各项配置可以在 `config` 目录中找到。 + +### 自动登录 + +修改 `AutoLogin.yml` 可配置自动登录。也可以使用 `/autologin` 指令。 + +### 指令前缀 + +可以在 `Command.yml` 配置指令前缀,默认为 `/`。注意,部分指令可不需要前缀也能使用,这取决于插件开发者的选择。 + +### 管理日志 + +Mirai Console 会记录运行时的日志并保存到 `logs` 目录中,其中 `latest.log` 为最新日志。 + +可以参考[日志文档](../mirai-console/docs/Logging.md)了解如何配置日志的详略程度。 + +若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后附加 `latest.log` 一并提交。 + +### 配置权限 + +`grantedPermissionMap.yml` 包含权限授予信息。通常建议使用指令 `/perm` 来修改权限,而不建议直接修改配置。 + +### 远程仓库 + +`repoLoc.yml` 包含对远程仓库的配置,通常不需要修改,除非某个插件要求。 + ## 解决问题 如果遇到使用问题或想提建议,可以在 [issues](https://github.com/mamoe/mirai/issues) diff --git a/mirai-console/docs/Logging.md b/mirai-console/docs/Logging.md new file mode 100644 index 000000000..ebf1e52fc --- /dev/null +++ b/mirai-console/docs/Logging.md @@ -0,0 +1,63 @@ +# Mirai Console Backend - Logging + +Console 的日志一共有五个级别: + +| 级别(由高到低) | 用途 | 默认启用 | +|:----------:|--------------|:------:| +| ERROR | 记录影响程序运行的错误 | 是 | +| WARNING | 记录不影响程序运行的警告 | 是 | +| INFO | 记录一条普通信息 | 是 | +| DEBUG | 记录普通调试信息 | 否 | +| VERBOSE | 记录详细调试信息 | 否 | + +`DEBUG` 和 `VERBOSE` +作为调试信息,默认关闭。插件开发者可能会使用这两个级别来输出调试信息。如果你在使用中遇到问题,启用这个两个级别获得更多日志后再报告开发者可能更有帮助。 + +特别地,`ALL` 表示启用全部日志,`NONE` 表示禁用全部日志。 + +在终端前端(或 [MCL](https://github.com/iTXTech/mirai-console-loader) +),日志配置文件默认路径为 `config/Console/Logger.yml`。示例内容为如下。 + +```yaml +# 默认日志输出等级 可选值: ALL, VERBOSE, DEBUG, INFO, WARNING, ERROR, NONE +defaultPriority: INFO +# 特定日志记录器输出等级 +loggers: + example.logger: NONE + console.debug: NONE + Bot: ALL +``` + +## 调整全局默认日志等级 + +修改 `defaultPriority` 即可修改全局默认日志等级。 + +例如设置为 DEBUG,则启用上表中 DEBUG 及更高级别的日志,即 +DEBUG、INFO、WARNING、ERROR。 + +## 调整特定日志等级 + +每个插件被分配的日志的 ID 为插件的显示名称。 + +提示:该 ID 也可以在日志中找到。如下面的日志中,`Bot 12345678` 就是其所属日志的 ID。(`V` +代表等级为 VERBOSE,以首字母识别) + +```text +2022-05-02 11:09:28 V/Bot 12345678: Event: BotOnlineEvent(bot=Bot(12345678)) +``` + +如果在日志配置这样修改: + +```yaml +loggers: + "Bot 12345678": NONE +``` + +那么将禁用来自该 Bot 的所有日志。 + +假设要启用名为 `Chat Command` 的插件的 DEBUG 及更高级别的日志: + +```yaml +loggers: + "Chat Command": DEBUG +``` diff --git a/mirai-console/docs/plugin/JVMPlugin.md b/mirai-console/docs/plugin/JVMPlugin.md index 41ba7b181..ac2c9c02e 100644 --- a/mirai-console/docs/plugin/JVMPlugin.md +++ b/mirai-console/docs/plugin/JVMPlugin.md @@ -330,43 +330,7 @@ public final class JExample extends JavaPlugin { } ``` -Console 的日志一共有五个级别: - -| 级别(由高到低) | 用途 | 默认启用 | -|:----------:|--------------|:------:| -| ERROR | 记录影响程序运行的错误 | 是 | -| WARNING | 记录不影响程序运行的警告 | 是 | -| INFO | 记录一条普通信息 | 是 | -| DEBUG | 记录普通调试信息 | 否 | -| VERBOSE | 记录详细调试信息 | 否 | - -由于 DEBUG 和 VERBOSE -默认是禁用的,插件开发者可以自由使用这两个级别的日志来辅助进行调试工作。也可以在当用户遇到问题时,让用户单独启用这些日志来获取调试信息。 - -可以在配置 `config/Console/Logger.yml` 中进行如下操作: - -### 调整全局日志等级 - -修改 `defaultPriority`,若设置为 DEBUG,则启用上表中 DEBUG 及更高级别的日志,即 -DEBUG、INFO、WARNING、ERROR。 - -### 调整特定日志等级 - -每个插件被分配的 MiraiLogger 的 ID (identity) 为插件描述的名称(name)。 - -在 `loggers` 增加对名称的配置,示例(启用名为 `Chat Command` 的插件的 DEBUG 及更高级别的日志): - -```yaml -loggers: - "Chat Command": DEBUG -``` - -提示:该 ID 也可以在日志中找到。如下面的日志中,`Bot 12345678` 就是其所属 MiraiLogger 的 ID。(其前 V -代表等级为 VERBOSE) - -```text -2022-05-02 11:09:28 V/Bot 12345678: Event: BotOnlineEvent(bot=Bot(12345678)) -``` +有关日志的配置方式可以参考 [Logging](../Logging.md) ## 插件生命周期与依赖管理