ログレベルの変更
このセクションでは、Amplify ロガーを使用する際にアプリケーションのログレベルを設定する方法について学びます。これは、ユースケースに最適なログレベルを決定し、Amazon CloudWatch にキャプチャしたいエラーまたは警告のレベルを決定するのに役立ちます。
デフォルトログレベルを変更する
以下は、デフォルトログレベルを WARN に設定する例です:
loggingConstraints の下の defaultLogLevel フィールドを更新します。
{ "awsCloudWatchLoggingPlugin": { "enable": true, "logGroupName": "<log-group-name>", "region": "<region>", "localStoreMaxSizeInMB": 1, "flushIntervalInSeconds": 60, "loggingConstraints": { "defaultLogLevel": "WARN" } }}サポートされているログレベルは以下の通りです:
ERRORWARNINFODEBUGVERBOSENONE
ログレベルを NONE に設定すると、事実上ログが無効になります。
AWSCloudWatchLoggingPlugin の初期化と設定時にデフォルトログレベルを指定します。
LoggingConstraints loggingConstraints = new LoggingConstraints(LogLevel.WARN);AWSCloudWatchLoggingPluginConfiguration config = new AWSCloudWatchLoggingPluginConfiguration (<log-group-name>, <region>, loggingConstraints);Amplify.addPlugin(new AWSCloudWatchLoggingPlugin(config));val loggingConstraints = LoggingConstraints(defaultLogLevel = LogLevel.WARN)val config = AWSCloudWatchLoggingPluginConfiguration(logGroupName = <log-group-name>, region = <region>, loggingConstraints = loggingConstraints)Amplify.addPlugin(AWSCloudWatchLoggingPlugin(config))LoggingConstraints loggingConstraints = new LoggingConstraints(LogLevel.WARN);AWSCloudWatchLoggingPluginConfiguration config = new AWSCloudWatchLoggingPluginConfiguration (<log-group-name>,<region>, loggingConstraints);Amplify.addPlugin(new AWSCloudWatchLoggingPlugin(config));サポートされているログレベルは以下の通りです:
LogLevel.ERRORLogLevel.WARNLogLevel.INFOLogLevel.DEBUGLogLevel.VERBOSELogLevel.NONEログレベルを LogLevel.NONE に設定すると、事実上ログが無効になります。
カテゴリ別にログレベルを設定する
各 Amplify カテゴリは、独自のログレベルを持つように設定できます。
以下は、Storage と Auth カテゴリに異なるログレベルを設定する例です。
categoryLogLevel セクションを追加し、各カテゴリとそのログレベルを指定します。
{ "awsCloudWatchLoggingPlugin": { "enable": true, "logGroupName": "<log-group-name>", "region": "<region>", "localStoreMaxSizeInMB": 1, "flushIntervalInSeconds": 60, "loggingConstraints": { "defaultLogLevel": "ERROR", "categoryLogLevel": { "Authentication": "VERBOSE", "Storage": "DEBUG" } } }}特定のカテゴリのログを無効にするには、ログレベルを NONE に設定します。
AWSCloudWatchLoggingPlugin の初期化と設定時にカテゴリとそれに対応するログレベルのマップを指定します。
Map<CategoryType, LogLevel> categoryOverrides = new HashMap<>();categoryOverrides.put(CategoryType.AUTH, LogLevel.VERBOSE);categoryOverrides.put(CategoryType.STORAGE, LogLevel.DEBUG);LoggingConstraints loggingConstraints = new LoggingConstraints(LogLevel.WARN, categoryOverrides);AWSCloudWatchLoggingPluginConfiguration config = new AWSCloudWatchLoggingPluginConfiguration (<log-group-name>, <region>, loggingConstraints);Amplify.addPlugin(new AWSCloudWatchLoggingPlugin(config));val categoryOverrides = mapOf<CategoryType, LogLevel>(CategoryType.AUTH to LogLevel.VERBOSE, CategoryType.STORAGE to LogLevel.DEBUG)val loggingConstraints = LoggingConstraints(defaultLogLevel = LogLevel.WARN, categoryLogLevel = categoryOverrides)val config = AWSCloudWatchLoggingPluginConfiguration(logGroupName = <log-group-name>, region = <region>, loggingConstraints = loggingConstraints)Amplify.addPlugin(AWSCloudWatchLoggingPlugin(config))Map<CategoryType, LogLevel> categoryOverrides = new HashMap<>();categoryOverrides.put(CategoryType.AUTH, LogLevel.VERBOSE);categoryOverrides.put(CategoryType.STORAGE, LogLevel.DEBUG);LoggingConstraints loggingConstraints = new LoggingConstraints(LogLevel.WARN, categoryOverrides);AWSCloudWatchLoggingPluginConfiguration config = new AWSCloudWatchLoggingPluginConfiguration (<log-group-name>,<region>, loggingConstraints);Amplify.addPlugin(new AWSCloudWatchLoggingPlugin(config));以下は、Amplify がライブラリからのエラーを自動的にログする際に使用されるデフォルトの既存 Amplify カテゴリ名です。
ANALYTICSAPIAUTHDATASTOREHUBLOGGINGNOTIFICATIONSPREDICTIONSSTORAGEGEO