跳到主要内容

查看日志

blocklet server logs 命令是用于故障排除和监控的重要工具。它不直接显示日志内容,而是提供与 Blocklet Server 守护进程及任何已安装 blocklet 相关的所有日志文件的确切路径。这使您可以使用 cat、tail 或 less 等标准命令行工具轻松定位和检查日志。

blocklet server logs 命令是用于故障排除和监控的重要工具。它不直接显示日志内容,而是提供与 Blocklet Server 守护进程及任何已安装 blocklet 相关的所有日志文件的确切路径。这使您可以使用 cattailless 等标准命令行工具轻松定位和检查日志。

用法

要显示日志文件路径,只需在您的 Blocklet Server 项目目录中运行该命令:

blocklet server logs

bash
blocklet server logs

输出描述

该命令的输出分为两个主要部分:服务器级日志和 blocklet 特定日志。

服务器日志

此部分提供核心 Blocklet Server 守护进程日志的路径。它将始终显示守护进程日志的主目录,并指向最新的业务日志文件。

服务器维护多种类型的日志,这些日志每天轮换:

文件名模式描述
access-<date>.log标准访问日志,用于跟踪传入的 HTTP 请求。
daemon-<date>.log主要的业务日志,包含服务器的操作信息。
daemon-error-<date>.log错误日志,捕获服务器抛出的任何异常或严重错误。
service.log与底层 Blocklet Server 服务管理器 (abtnode) 相关的日志。
stderr.log来自服务器进程的原始标准错误输出。
stdout.log来自服务器进程的原始标准输出。

Blocklet 日志

如果您的 Blocklet Server 正在运行并且已安装了 blocklet,该命令还将列出每个 blocklet 的日志文件。这对于独立调试单个 blocklet 非常有帮助。

对于每个已安装的 blocklet,您将看到两个日志文件路径:

  • Output:指向 output.log 的路径,其中包含来自 blocklet 进程的标准输出 (stdout)。
  • Error:指向 error.log 的路径,其中包含来自 blocklet 进程的标准错误 (stderr)。

输出示例

以下是在安装了两个 blocklet 的服务器上运行该命令时可能看到的示例:

输出示例

bash
$ blocklet server logs

Blocklet Server Logs
- Latest logs: /path/to/your/data/daemon/logs/daemon-2023-10-27.log
- Daemon Logs Directory: /path/to/your/data/daemon/logs

  Daemon Logs
  - access-<date>.log: access logs rotated by day
  - daemon-<date>.log: business logs rotated by day
  - daemon-error-<date>.log: error logs rotated by day
  - service.log: abtnode service logs
  - stderr.log: stderr logs
  - stdout.log: stdout logs

my-first-blocklet@1.2.0
- Output: /path/to/your/data/logs/my-first-blocklet/output.log
- Error: /path/to/your/data/logs/my-first-blocklet/error.log

another-blocklet@2.0.1
- Output: /path/to/your/data/logs/another-blocklet/output.log
- Error: /path/to/your/data/logs/another-blocklet/error.log

常见场景

  • 服务器未运行:如果 Blocklet Server 未运行,该命令无法访问特定于 blocklet 的日志,并将显示警告:Unable to get blocklet logs because Blocklet Server is not running
  • 未安装 Blocklet:如果服务器正在运行但尚未安装任何 blocklet,您将看到消息:No blocklets installed yet.