Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated May 16, 2024

Send logs

With the Amplify Logger, you can send logs to Amazon CloudWatch from errors that are caught by the Amplify library or by adding your own custom log messages. You can also customize which levels of log messages to send to CloudWatch.

Log messages

You should follow best security practices when logging messages. This includes validating log messages and ensuring log messages don't contain personally identifiable information and/or sensitive data.

You can log messages using the Amplify logger to a specific namespace to help you group logs that are similar when they are sent to CloudWatch. To accomplish this, get an instance of the Logger and specify a category name and/or namespace. Use the Logger instance to log messages at the desired log level. The category name and namespace values are used to tag your log messages that will appear in CloudWatch. They are also used to identify and fetch the logger again without creating a new Logger instance.

You can also log JSON formatted log messages to leverage AWS CloudWatch query and filter supports.

let logger = Amplify.Logging.logger(forCategory: "Authentication", forNamespace: "<your-code-namespace>")
do {
let jsonEncoder = JSONEncoder()
let person = Person(firstName: "John", lastName: "Doe", age: 25)
let jsonData = try jsonEncoder.encode(person)
let jsonString = String(data: jsonData, encoding: String.Encoding.utf8)!
} catch {
logger.error("Error encoding person instance")

The following are existing Amplify category names that are used by default by Amplify when automatically logging errors from the library.

  • Analytics
  • API
  • Authentication
  • DataStore
  • Geo
  • Hub
  • Logging
  • Predictions
  • PushNotifications
  • Storage