繁体   English   中英

适用于Spring Boot应用程序的AWS Cloudwatch Logback Appender

[英]AWS Cloudwatch Logback Appender for Spring Boot Applications

我正在尝试从Spring Boot Application直接将Logs发送到Cloudwatch。 我正在使用Logback Appender当然需要AWS Credentials。 由于大多数开发人员在其本地计算机上没有AWS Credentials,并且只想根据logback-spring.xml配置登录文件。 由于缺少aws凭据,大多数测试在本地失败。
有没有办法只针对特定的配置文件初始化logback appender?
这是logback-spring.xml的快照:

<!--  Configuration for your local environment -->
<springProfile name="${user.name}">
    <root level="DEBUG">
        <appender-ref ref="ROLLING_FILE" />
    </root>
</springProfile>

<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    ...
</appender>


<!-- Configuration for Development Environment --> 
<springProfile name="dev">
    <root level="DEBUG">
        <appender-ref ref="AWS_LOGS_DEV" />
        <appender-ref ref="ROLLING_FILE" />
    </root>
</springProfile>

<appender name="AWS_LOGS_DEV" class="ca.pjer.logback.AwsLogsAppender">
    <layout>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </layout>
    <logGroupName>/dev</logGroupName>
    <logStreamName>log_${date}</logStreamName>
</appender>

已经解决了。 您只需要将appender解压缩到另一个logback文件:

的logback-spring.xml

<!--  Configuration for your local environment -->
<springProfile name="${user.name}">
    <root level="DEBUG">
        <appender-ref ref="ROLLING_FILE" />
    </root>
</springProfile>

<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    ...
</appender>


<!-- Configuration for Development Environment --> 
<springProfile name="dev">
    <include resource="logback-prod.xml" />
</springProfile>

的logback-prod.xml

<included>
    <root level="DEBUG">
        <appender-ref ref="AWS_LOGS_DEV" />
        <appender-ref ref="ROLLING_FILE" />
    </root>

    <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
    <appender name="AWS_LOGS_DEV" class="ca.pjer.logback.AwsLogsAppender">
        <layout>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </layout>
        <logGroupName>/prod</logGroupName>
        <logStreamName>log_${date}</logStreamName>
        <maxBatchLogEvents>200</maxBatchLogEvents>
        <maxFlushTimeMillis>30000</maxFlushTimeMillis>
        <maxBlockTimeMillis>5000</maxBlockTimeMillis>
    </appender>
</included>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM