我使用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
如您所见,目前日志级别设置为&#34; info&#34;。我想使用AWS Lambda环境变量更改日志级别,这样如果需要Debug,请设置一些Lambda环境变量,它应该反映在Lambda函数中,以便它开始登录Debug语句。任何帮助将不胜感激。感谢
答案 0 :(得分:3)
如果您可以迁移到Log4j2(AWS Lambda当前支持,可以在AWS GitHub上找到详细信息),则可以使用“查找”功能来使用Log4j2配置文件中的环境变量:{{ 3}}
因此,您可以在配置文件"${env:VAR_NAME:-info}"
中使用类似的内容,其中-info
是默认的日志记录级别。
答案 1 :(得分:-1)
您可以将Apache MDC(org.apache.log4j.MDC)用于此目的。将以下代码行放在应用程序/程序的开头。
MDC.put("ENV_VARIABLE_NAME", value);