gpt4 book ai didi

java - 在 AWS Lambda (java) 中使用环境变量更改 Log4j 级别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:55 25 4
gpt4 key购买 nike

我有使用 Java8 编码的 AWS Lambdas。我正在使用 Log4j1.2.17 来满足日志记录需求:

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>

日志配置是使用 log4.properties 文件指定的,如下所示:

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

如您所见,当前日志级别设置为“信息”。我想使用 AWS Lambda 环境变量更改日志级别,这样如果需要调试,请设置一些 Lambda 环境变量,它应该反射(reflect)在 Lambda 函数中,以便它开始记录调试语句。任何帮助将不胜感激。谢谢

最佳答案

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

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

关于java - 在 AWS Lambda (java) 中使用环境变量更改 Log4j 级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50328637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com