将自定义消息写入到 CloudWatch Logs - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将自定义消息写入到 CloudWatch Logs

您可以将自定义消息写入到 Amazon Kinesis Data Analytics 应用程序的 CloudWatch 日志中。您可以使用 Apache log4j 库或 Simple Logging Facade for Java (SLF4J) 库以执行该操作。

使用 Log4J 写入到 CloudWatch 日志

  1. 将以下存储库添加到应用程序的 pom.xml 文件中:

    <repository> <id>log4j</id> <url>https://mvnrepository.com/artifact/log4j/log4j</url> </repository>
  2. 将以下依赖项添加到应用程序的 pom.xml 文件中:

    <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>compile</scope> </dependency>
  3. 包括库中的对象:

    import org.apache.logging.log4j.Logger;
  4. 实例化 Logger 对象并传入您的应用程序类:

    private static final Logger log = Logger.getLogger(YourApplicationClass.class);
  5. 使用 log.info 写入到日志。将在应用程序日志中写入大量消息。为了便于筛选自定义消息,请使用 INFO 应用程序日志级别。

    log.info("This message will be written to the application's CloudWatch log");

应用程序在日志中写入一条记录,并显示类似下面的消息:

{ "locationInformation": "com.amazonaws.services.kinesisanalytics.StreamingJob.main(StreamingJob.java:95)", "logger": "com.amazonaws.services.kinesisanalytics.StreamingJob", "message": "This message will be written to the application's CloudWatch log", "threadName": "Flink-DispatcherRestEndpoint-thread-2", "applicationARN": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/test", "applicationVersionId": "1", "messageSchemaVersion": "1", "messageType": "INFO" }

使用 SLF4J 写入到 CloudWatch 日志

  1. 将以下依赖项添加到应用程序的 pom.xml 文件中:

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> <scope>runtime</scope> </dependency>
  2. 包括库中的对象:

    import org.slf4j.Logger; import org.slf4j.LoggerFactory;
  3. 实例化 Logger 对象并传入您的应用程序类:

    private static final Logger log = LoggerFactory.getLogger(YourApplicationClass.class);
  4. 使用 log.info 写入到日志。将在应用程序日志中写入大量消息。为了便于筛选自定义消息,请使用 INFO 应用程序日志级别。

    log.info("This message will be written to the application's CloudWatch log");

应用程序在日志中写入一条记录,并显示类似下面的消息:

{ "locationInformation": "com.amazonaws.services.kinesisanalytics.StreamingJob.main(StreamingJob.java:95)", "logger": "com.amazonaws.services.kinesisanalytics.StreamingJob", "message": "This message will be written to the application's CloudWatch log", "threadName": "Flink-DispatcherRestEndpoint-thread-2", "applicationARN": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/test", "applicationVersionId": "1", "messageSchemaVersion": "1", "messageType": "INFO" }