LightFile NextLightFile Next

ログメッセージ一覧

すべてのログメッセージの意味と対処法

このドキュメントでは、lightfile-shotが出力するすべてのログメッセージとその意味を説明します。

完了メッセージ

処理が完了すると、最終的な結果が表示されます。

基本形式

✅ 完了: 750ファイル (成功: 252 | スキップ: 249 | エラー: 249) | ⏳ 所要時間: 18s
項目説明
750ファイル処理対象となった総ファイル数
成功: 252最適化に成功したファイル数
スキップ: 249スキップされたファイル数
エラー: 249処理に失敗したファイル数
所要時間: 18s処理全体の所要時間

削減効果情報付き

✅ 完了: 750ファイル (成功: 252 | スキップ: 249 | エラー: 249) | ⏳ 所要時間: 18s | 📊 2.5 GB → 2.1 GB (削減 400 MB = 16.0%)
項目説明
2.5 GB → 2.1 GB元のサイズ → 最適化後のサイズ
削減 400 MB削減されたデータ量
16.0%削減率

ログレベル別の出力例

debug(デバッグ)

ライセンス検証: OK
バッチ処理を開始します(ディレクトリモード)
ワークフローの作成中...
上書きモードを使用します
🛞 スキャン中: 250ファイル | ⏳ 経過: 3s
画像形式を検出しました: JPEG
JPEG処理を開始します (品質: medium)
JPEG最適化を開始します
最適化完了
ファイルを最適化しました: image.jpg
...

info(情報、デフォルト)

DryRunモード: 実際の処理は行いません
🛞 スキャン中: 250ファイル | ⏳ 経過: 3s
🔧 最適化中: 250 / 750ファイル (33.3%) | 最適化: 84件 | スキップ: 83件 | 失敗: 83件 | 削減量: 2.1 MB (-14.0%) | ⏳ 経過: 3s | 残り: 約6s
ファイルを最適化しました: image.jpg
スキップ: image2.jpg (ファイルは既に最適化されています)
✅ 完了: 750ファイル (成功: 252 | スキップ: 249 | エラー: 249) | ⏳ 所要時間: 18s

warn(警告)

ファイルの最適化に失敗しました: corrupted.jpg
最適化されたファイルの書き出しに失敗しました: readonly.jpg

error(エラー)

Error: ライセンストークンが見つかりません。
Error: ワークフローの作成中にエラーが発生しました
Error: バッチ処理中にエラーが発生しました

verbose(詳細ログ)

--verbose オプション使用時の出力例:

ライセンス検証: OK
バッチ処理を開始します(ディレクトリモード)
上書きモードを使用します
[batch] Scanning directory: /path/to/images
[batch] Found 250 files matching criteria
[batch] Starting optimization with concurrency: 4
🛞 スキャン中: 250ファイル | ⏳ 経過: 3s
[batch] Processing file 1/250: image1.jpg
画像形式を検出しました: JPEG
JPEG処理を開始します (品質: medium)
[batch] Optimization completed for image1.jpg
ファイルを最適化しました: image1.jpg
...

起動・初期化メッセージ

ライセンス検証

メッセージレベル意味
ライセンス検証: OKDebugライセンス検証に成功
Error: ライセンストークンが見つかりません。--license-token オプション、環境変数 LF_TOKEN、またはファイル ~/.lightfile-next/token でライセンストークンを指定してくださいErrorライセンストークンが設定されていない
Error: ライセンストークンが無効です: {詳細}Errorライセンストークンの形式が不正
Error: ライセンスの有効期限が切れています(有効期限: {日時})。新しいライセンスを取得してくださいErrorライセンスの有効期限切れ
Error: ライセンス検証エラー: {詳細}Errorその他のライセンス検証エラー

モード・設定

メッセージレベル意味
DryRunモード: 実際の処理は行いませんInfoドライランモードが有効
バッチ処理を開始します(ファイルモード)Debugファイル処理モードで開始
バッチ処理を開始します(ディレクトリモード)Debugディレクトリ処理モードで開始
上書きモードを使用しますDebug上書きモードで動作
複製モードを使用しますDebug複製モードで動作(出力先: {パス})
ジャーナル記録を有効化しましたDebugジャーナル機能が有効(出力先: {パス})

初期化エラー

メッセージレベル意味対処法
Error: configuration validation failed: {詳細}Error設定の検証に失敗設定を確認
Error: ワークフローの作成中にエラーが発生しましたErrorワークフロー作成に失敗ディレクトリ{パス}を確認
Error: ジャーナルファイルの作成中にエラーが発生しましたErrorジャーナルファイル作成に失敗パスと権限を確認
Error: 初期化中にエラーが発生しましたErrorプロセッサ初期化に失敗ワークフロー設定を確認
Error: invalid min-size: {詳細}Error最小ファイルサイズの形式が不正単位を含めて指定(例: 10kb)
Error: invalid max-size: {詳細}Error最大ファイルサイズの形式が不正単位を含めて指定(例: 5mb)

ファイル処理メッセージ

最適化成功

ファイルを最適化しました: {ファイルパス} ({形式}, {元サイズ} → {最適化後サイズ}, 削減 {削減量} = {削減率}%)

:

ファイルを最適化しました: /path/to/image.jpg (JPEG, 100 KB → 80 KB, 削減 20 KB = 20.0%)
レベルInfo
意味ファイルの最適化に成功

スキップ

スキップ: {ファイルパス} ({理由})

:

スキップ: /path/to/image.jpg (ファイルは既に最適化されています)
レベルInfo
意味ファイルがスキップされた

スキップ理由:

  • ファイルは既に最適化されています: すでに最適化済み
  • ファイルサイズが範囲外です: サイズフィルタに合致しない
  • 拡張子が対象外です: 拡張子フィルタに合致しない
  • パターンに合致しません: include/excludeパターンに合致しない

処理失敗

ファイルの最適化に失敗しました: {ファイルパス} (エラー: {エラー詳細})

:

ファイルの最適化に失敗しました: /path/to/corrupted.jpg (エラー: unsupported format)
レベルWarn
意味ファイルの最適化に失敗
対処法ファイルの形式や破損を確認

書き込み失敗

最適化されたファイルの書き出しに失敗しました: {ファイルパス}
レベルWarn
意味最適化されたファイルの書き込みに失敗
対処法ディスク容量やパーミッションを確認

ドライランモード

ドライランモード: ファイルの書き込みをスキップしました
レベルDebug
意味ドライランモードのためファイルの書き込みをスキップ

エラーメッセージ

バッチ処理エラー

Error: バッチ処理中にエラーが発生しました
レベルError
意味バッチ処理全体でエラーが発生
対処法エラー詳細を確認

設定検証エラー

Error: 設定がnilです
レベルError
意味内部エラー(設定オブジェクトがnull)
対処法バグレポート
Error: ライセンストークンが必要です: --license-token、LF_TOKEN環境変数、または~/.lightfile-next/tokenファイルで指定してください
レベルError
意味ライセンストークンが未設定
対処法ライセンストークンを設定
Error: ローカル設定が必要です
レベルError
意味ローカルファイルシステム設定がない
対処法処理対象ディレクトリを指定
Error: ローカルファイルシステムにはディレクトリが必要です
レベルError
意味ディレクトリ{パス}が指定されていない
対処法--dir でディレクトリを指定
Error: 無効なminSizeフォーマット: {詳細}
レベルError
意味最小ファイルサイズの形式が不正
対処法正しい形式を指定(例:2kb, 100b)
Error: 無効なmaxSizeフォーマット: {詳細}
レベルError
意味最大ファイルサイズの形式が不正
対処法正しい形式を指定(例:5mb, 1gb)
Error: 並行数は非負でなければなりません
レベルError
意味並行数が負の値
対処法0以上の値を指定
Error: 無効な品質: {値} (有効なオプション: low, medium, high)
レベルError
意味無効な品質値
対処法low/medium/high のいずれかを指定
Error: 無効なJPEG品質: {値} (有効なオプション: low, medium, high)
レベルError
意味無効なJPEG品質値
対処法low/medium/high のいずれかを指定
Error: 無効なPNG品質: {値} (有効なオプション: low, medium, high)
レベルError
意味無効なPNG品質値
対処法low/medium/high のいずれかを指定
Error: 無効なログレベル: {値} (有効なオプション: debug, info, warn, error)
レベルError
意味無効なログレベル
対処法debug/info/warn/error のいずれかを指定

コマンドライン引数エラー

Error: 第1引数がファイルの場合、第2引数は既存のディレクトリではなく出力ファイルパスを指定してください
レベルError
意味ファイル処理時に既存ディレクトリを第2引数に指定
対処法出力ファイルパスを指定
Error: 第1引数がディレクトリの場合、第2引数は既存のファイルではなく出力ディレクトリを指定してください
レベルError
意味ディレクトリ処理時に既存ファイルを第2引数に指定
対処法出力ディレクトリ{パス}を指定

画像最適化内部メッセージ(--verbose時)

形式検出

画像形式を検出中
レベルDebug
意味画像形式の検出を開始
画像形式を検出しました: {形式}

:

画像形式を検出しました: JPEG
レベルDebug
意味画像形式の検出に成功

JPEG処理

JPEG処理を開始します (品質: {品質})

:

JPEG処理を開始します (品質: medium)
レベルDebug
意味JPEG最適化処理を開始
JPEG最適化を開始します
レベルDebug
意味JPEG最適化の実行を開始
最適化完了
レベルInfo
意味最適化処理が完了

PNG処理

PNG処理を開始します (品質: {品質})

:

PNG処理を開始します (品質: medium)
レベルDebug
意味PNG最適化処理を開始
PNG最適化を開始します
レベルDebug
意味PNG最適化の実行を開始

警告

不明な品質値 '{品質}' が指定されました。'medium' を使用します

:

不明な品質値 'super' が指定されました。'medium' を使用します
レベルDebug
意味無効な品質値のためデフォルト値にフォールバック
対処法品質値を確認(low/medium/high)

シグナル処理メッセージ

Received interrupt signal, shutting down...
レベルInfo
意味Ctrl+Cが押され、シャットダウン処理を開始

ワークフロー内部メッセージ(--verbose時)

[batch] Scanning directory: {ディレクトリパス}
レベルDebug(verbose時のみ)
意味ディレクトリのスキャンを開始
[batch] Found {数} files matching criteria
レベルDebug(verbose時のみ)
意味条件に合致するファイルを検出
[batch] Starting optimization with concurrency: {数}
レベルDebug(verbose時のみ)
意味最適化処理を並列数{数}で開始
[batch] Processing file {現在}/{総数}: {ファイル名}
レベルDebug(verbose時のみ)
意味ファイルの処理を開始
[batch] Optimization completed for {ファイル名}
レベルDebug(verbose時のみ)
意味ファイルの最適化が完了

メッセージのフィルタリング

ログレベル別の出力

ログレベル出力されるメッセージ
debugすべてのメッセージ
info(デフォルト)Info, Warn, Error
warnWarn, Error
errorErrorのみ

verboseフラグの影響

フラグ効果
なしCLIレベルのログのみ
--verboseサブモジュール([batch]等)のログも出力

メッセージの活用

問題の診断

  1. エラーメッセージ: --log-level error でエラーのみ表示
  2. 詳細ログ: --log-level debug --verbose で最も詳細な情報
  3. 進捗のみ: --log-level info(デフォルト)で進捗と結果のみ

ログの保存

# ログをファイルに保存
lightfile-shot /path/to/images 2>&1 | tee optimization.log

# エラーのみをファイルに保存
lightfile-shot /path/to/images 2> errors.log

# ジャーナル機能で詳細記録
lightfile-shot /path/to/images --journal result.ndjson