メインコンテンツまでスキップ

ロギング

mastodon_client はデフォルトで HTTP リクエスト/レスポンスを標準出力にログ出力します。出力の無効化やリダイレクトが可能です。

ログの無効化

final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'token',
enableLog: false,
);

FunctionLogger によるカスタムロガー

FunctionLogger はシンプルなコールバックを Logger インターフェースに適合させます。

final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'token',
logger: FunctionLogger((level, message) {
// level は 'debug', 'info', 'warn', 'error' のいずれか
myLogger.log(level, message);
}),
);

Logger インターフェースの実装

完全な制御が必要な場合は Logger インターフェースを実装します。

class MyLogger implements Logger {

void debug(String message) { /* ... */ }


void info(String message) { /* ... */ }


void warn(String message) { /* ... */ }


void error(String message, [Object? error, StackTrace? stackTrace]) {
// エラーとオプションのスタックトレースを処理
}
}

final client = MastodonClient(
baseUrl: 'https://mastodon.social',
accessToken: 'token',
logger: MyLogger(),
);

デフォルトの動作

デフォルトの StdoutLogger は内部で logger パッケージを使用しています。デバッグビルドではすべてのログレベル(debug 以上)が出力されます。リリースビルドでは warning 以上のみが出力されます。

ログ形式:

[mastodon_client] [LEVEL] 2025-01-01 12:00:00.000000 message