跳到內容

Logs and storage

設定

  1. 開啟 Settings > Logs(設定 > 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. 把它附在你求助的地方。請見 取得支援。

金鑰、token 和密碼已經被遮蔽成 [hidden]。不過貼出去之前還是自己看過一遍:作品名稱、資料夾和你的伺服器位址仍然看得到。

Settings > This app > Storage(設定 > 這個 App > 儲存空間)會列出 HolyArrs 看到的每個路徑,以及所在磁碟的可用空間。在 Docker 裡,這些是 container 內的路徑。

路徑 存放內容
設定資料夾 HolyArrs 的所有資料
holyarrs.db 主資料庫
holyarrs-events.db 歷史記錄資料庫
Backups、圖片、log 資料夾 在設定資料夾裡面
媒體庫資料夾、下載器儲存資料夾 你的媒體和下載項目

「free space unknown」表示系統沒有回報。

log 檔是設定資料夾裡的 logs/holyarrs.log。到 5 MB 時會移到 logs/holyarrs.log.1,所以 log 大約維持在 10 MB 以內。docker logs holyarrs 顯示的是同樣的輸出。

症狀: 看不到 Logs 頁面。 原因: 只有擁有者和管理員看得到。 解決方式: 請其中一位幫忙。

症狀: 某個路徑看起來不對。 原因: 在 Docker 裡,Storage 顯示的是 container 內的路徑。 解決方式: 和你的 volume 對應比對一下。請見 資料夾。

等級是怎麼判斷的

等級是依據那一行裡的字詞判斷的。「failed」、「crashed」和「error」會標為錯誤。「could not」、「refused」和「timed out」會標為警告。

哪些內容會被遮蔽

每一行在寫入時會被遮蔽,在讀取或下載時會再遮蔽一次:

  • 每一個已儲存的金鑰、token、密碼和 webhook 連結,包括經過連結跳脫和 base64 的形式。
  • 舊的值。當某個機密變更或被移除時,兩個 log 檔都會在舊值丟掉之前,先重寫並遮蔽它。
  • 連結中的名稱和密碼:http://user:pass@host 會變成 http://[hidden]@host。
  • 連結參數,例如 apikey=、token=、passkey=、password=。
  • 帶有機密名稱的配對:API key、token、password、secret、cookie、authorization、setup code。有引號的值會遮蔽到結尾引號。
  • Bearer 和 basic token、HolyArrs API 金鑰(hak_...)、首次執行的設定代碼,以及很長、像 token 的字串。

值裡面的換行和終端機色彩碼會以跳脫形式顯示,所以值無法偽造出新的一行。長度為 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 上給顆星、贊助專案,或請我喝杯咖啡。