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

AWS lambda: Is there a way to set default value if the environment variable doesn't exist in the log4j.xml?

我使用 java 实现了 aws lambda 函数。我正在使用标准的 log4j 配置登录到 cloudwatch。我能够将 aws lambda 环境运行时变量访问到我的 log4j 中以设置我的日志级别。我唯一的问题 - 在 log4j.xml?

中没有环境变量值的情况下,有没有一种方法可以将日志级别默认设置为某个值?

下面是我的 log4j.xml 配置。

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

您可以迁移到 Log4j2(目前 AWS Lambda 支持,您可以在 AWS GitHub), It has "Lookups" feature which allows to use environment variables in Log4j2 configuration file: http://logging.apache.org/log4j/2.x/manual/lookups.html#EnvironmentLookup

上找到详细信息

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