AWS Lambda:如果log4j.xml中不存在环境变量,是否可以设置默认值?

时间:2019-04-24 13:27:18

标签: logging aws-lambda log4j aws-sdk aws-lambda-layers

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

下面是我的log4j.xml配置。

< Loggers></br>
    < Root level="debug"><\br>
        < AppenderRef ref="Lambda" /><\br>
    < /Root><\br>
< /Loggers>

1 个答案:

答案 0 :(得分:1)

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

因此,您可以在配置文件“ $ {env:VAR_NAME:-info}”中使用类似的内容,其中-info是默认的日志记录级别。