跳转到内容

日志和存储

设置

  1. 打开 Settings > Logs(设置 > 日志)。所有者和管理员能看到。
  2. 选一个 Level(级别):Every line(每一行)、Warnings and errors(警告和错误)或 Errors only(仅错误)。
  3. 在 Text(文本)里输入文字,只留下包含这些词的行。不区分大小写。
  4. 设置 From(从)和 To(到)来限定日期;To 那一天也算在内。点击 Apply(应用)。
  5. 用 Newer(更新)和 Older(更早)翻页,每页 100 行,最新的在前。你应该只会看到匹配的行。
  1. 在 Settings > Logs 里点击 Download(下载)。你会得到一个文本文件,里面是最新的日志行,最多 2 MB。
  2. 在你求助的地方把它作为附件发出去。见获取支持。

密钥、令牌和密码已经被遮盖成 [hidden]。发出去之前还是先把文件看一遍:条目名、文件夹名和你的服务器地址仍然看得见。

文件存放在哪里

文件存放在哪里 的链接

Settings > This app > Storage(设置 > 本应用 > 存储)会列出 HolyArrs 看到的每个路径,以及所在磁盘的可用空间。在 Docker 里,这些是容器内的路径。

路径 存放内容
配置文件夹 HolyArrs 的全部数据
holyarrs.db 主数据库
holyarrs-events.db 历史记录数据库
备份、图片、日志文件夹 在配置文件夹里
媒体库文件夹、下载器的保存文件夹 你的媒体和下载内容

“free space unknown”(可用空间未知)表示系统没有给出这个数值。

日志文件是配置文件夹里的 logs/holyarrs.log。到 5 MB 时它会移到 logs/holyarrs.log.1,所以日志总共保持在 10 MB 左右。docker logs holyarrs 显示的是同样的输出。

现象: 找不到 Logs 页面。 原因: 只有所有者和管理员能看到。 解决办法: 找他们中的一位帮忙。

现象: 某个路径看起来不对。 原因: 在 Docker 里,Storage 显示的是容器内的路径。 解决办法: 对照你的卷映射。见文件夹。

级别是怎么判断的

级别是根据行里的词判断的。“failed”、“crashed”和“error”算错误。“could not”、“refused”和“timed out”算警告。

哪些内容会被遮盖

每一行在写入时遮盖一次,在读取或下载时再遮盖一次:

  • 每个已保存的密钥、令牌、密码和 webhook 链接,包括链接转义和 base64 形式。
  • 旧值。某个机密被修改或删除时,两个日志文件都会先重写一遍,把旧值遮盖掉,然后才丢弃旧值。
  • 链接里的用户名和密码:http://user:pass@host 会变成 http://[hidden]@host。
  • 链接参数,例如 apikey=、token=、passkey=、password=。
  • 带机密名称的键值对:API key、token、password、secret、cookie、authorization、setup code。带引号的值会一直遮盖到结束引号。
  • Bearer 和 basic 令牌、HolyArrs API 密钥(hak_...)、首次运行的设置码,以及看起来像令牌的长字符串。

值里的换行符和终端颜色代码会以转义形式显示,所以一个值没法伪造出新的一行。4 或 5 个字符的已保存值只在作为完整单词出现时才遮盖,而且如果它是 admin 或 test 这样的常见词,就不会遮盖。

API
路由 谁能用 返回什么
GET /api/v1/app/storage Change settings(更改设置) 路径和可用空间
GET /api/v1/logs?level=&q=&from=&to=&offset=&limit= 所有者、管理员 日志行和总数
GET /api/v1/logs/download 所有者、管理员 最新的 2 MB,纯文本

这三个路由都要求 API 密钥有 admin 范围。

HolyArrs 是免费的。如果它帮你省了时间,欢迎在 GitHub 上点个 Star、赞助它或请我喝杯咖啡。