AWS lambda:如果log4j.xml中不存在环境变量,有没有办法设置默认值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS lambda:如果log4j.xml中不存在环境变量,有没有办法设置默认值?相关的知识,希望对你有一定的参考价值。

我有使用java的aws lambda函数实现。我使用标准的log4j配置登录到cloudwatch。我能够访问我的log4j中的aws lambda环境运行时变量来设置我的日志级别。我唯一的问题 - 在log4j.xml中是否有一种方法可以将日志级别默认为没有环境变量值的东西?

下面是我的log4j.xml配置。

< Loggers></br>
    < Root level="debug"><r>
        < AppenderRef ref="Lambda" /><r>
    < /Root><r>
< /Loggers>
答案

您可以迁移到Log4j2(目前由AWS Lambda支持,您可以在AWS GitHub上找到详细信息),它具有“查找”功能,允许在Log4j2配置文件中使用环境变量:http://logging.apache.org/log4j/2.x/manual/lookups.html#EnvironmentLookup

所以你可以在你的配置文件中使用这样的东西:“$ {env:VAR_NAME:-info}”,其中-info是默认的日志记录级别。

以上是关于AWS lambda:如果log4j.xml中不存在环境变量,有没有办法设置默认值?的主要内容,如果未能解决你的问题,请参考以下文章

AWS java sdk 1.10.2 中不存在包 com.amazonaws.services.lambda.runtime

如何从外部 SQS 队列活动触发 AWS Lambda 函数

Angular AWS 被 CORS 策略阻止

AWS Lambda - 调用另一个 lambda 函数的方法

旧的AWS Lambda图层是否会自动删除?如果没有,如何删除它们?

试图在AWS Lambda上运行python脚本,但是如果加载virtualenv目录,Lambda会失败