簡體   English   中英

使用 Log4J appender 在 AWS Cloudwatch 中存儲應用程序日志

[英]Store app logs in AWS Cloudwatch using Log4J appender

我正在嘗試將應用程序級日志存儲在來自 Java Web 應用程序的 AWS Cloudwatch 日志中。

我的示例 Java Web 應用程序已經具有 Log4J 實現。 因此,無需編寫 AWS SDK 代碼,我只想將日志推送到 Cloudwatch。 我剛剛遇到了 Log4J cloudwatch appender。

按照此鏈接但不確定如何配置 AWS 身份驗證(訪問/密鑰、區域) https://dzone.com/articles/announcing-log4j-aws-appenders

log4j.properties

log4j.rootLogger=WARN, console

log4j.logger.org.apache.http=ERROR
log4j.logger.com.amazonaws=ERROR
log4j.logger.com.mkyong=ERROR
log4j.additivity.com.mkyong=true

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n

log4j.appender.cloudwatch=com.kdgregory.log4j.aws.CloudWatchAppender
log4j.appender.cloudwatch.layout=org.apache.log4j.PatternLayout
log4j.appender.cloudwatch.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n

log4j.appender.cloudwatch.logGroup=ExampleCloudwatchLog
log4j.appender.cloudwatch.logStream={startupTimestamp}-{sequence}
log4j.appender.cloudwatch.batchDelay=2500
log4j.appender.cloudwatch.rotationMode=daily

似乎沒有從我使用aws configure的本地計算機讀取憑據。

注意:應用程序也將部署在 AWS 或非 AWS 環境中。 所以也不確定是否設置 AWS IAM 角色。

任何人都可以幫助我傳遞 AWS 的憑據嗎?

感謝您寶貴的重播@kdgregory。

故障排除指南對我幫助很大。

使用以下啟用調試,發現依賴關系未解決。

log4j.debug=true

最后,我通過在 pom.xml 中添加 AWS ADK 日志依賴項來實現。 工作正常。

    <!-- 1/2 For AWS Cloudwatch Appender -->
    <dependency>
        <groupId>com.kdgregory.log4j</groupId>
        <artifactId>aws-appenders</artifactId>
        <version>1.3.0</version>
    </dependency>
    <!-- 2/2 For AWS Cloudwatch Appender -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-logs</artifactId>
        <version>1.11.130</version>
    </dependency>

謝謝,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM