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 函数
AWS Lambda - 调用另一个 lambda 函数的方法