Need to configure your backend?See Build a Backend →
ログのフラッシュ
Amplify Loggerを使用する場合、ログに記録されたすべてのメッセージはまずユーザーのデバイスにローカルに保存され、その後、カスタマイズ可能な設定間隔でフラッシュされます。また、必要に応じてイベントを手動でフラッシュすることもできます。このセクションに記載されている手順に従ってください。
自動ログフラッシュ間隔を変更する
ログが自動的にフラッシュされてCloudWatchに送信される時間間隔をカスタマイズできます。
以下は、時間間隔を120秒に設定する例です。
ロギング設定ファイルの flushIntervalInSeconds フィールドを更新します。
{ "awsCloudWatchLoggingPlugin": { "enable": true, "logGroupName": "<log-group-name>", "region": "<region>", "localStoreMaxSizeInMB": 1, "flushIntervalInSeconds": 120, "loggingConstraints": { "defaultLogLevel": "ERROR" } }}AWSCloudWatchLoggingPlugin の初期化と設定に flushIntervalInSeconds パラメータを指定します。
do { let loggingConfiguration = AWSCloudWatchLoggingPluginConfiguration(logGroupName: "<log-group-name>", region: "<region>", flushIntervalInSeconds: 120) let loggingPlugin = AWSCloudWatchLoggingPlugin(loggingPluginConfiguration: loggingConfiguration) try Amplify.add(plugin: loggingPlugin) try Amplify.configure(with: .amplifyOutputs)} catch { assert(false, "Error initializing Amplify: \(error)")}ログを手動でフラッシュする
ユーザーのデバイスにローカルに保存されているログメッセージをいつでもフラッシュして、Amazon CloudWatchにすぐに送信することを選択できます。
AWSCloudWatchLoggingPlugin へのインポートステートメントを追加します。
import AWSCloudWatchLoggingPluginプラグインからフラッシュログ関数を実行します。
let cloudWatchPlugin = try Amplify.Logging.getPlugin(for: "awsCloudWatchLoggingPlugin") as? AWSCloudWatchLoggingPlugintry await cloudWatchPlugin?.flushLogs()