AWS лямбда: есть ли способ установить значение по умолчанию, если переменная окружения не существует в log4j.xml?

У меня есть реализация лямбда-функции AWS с использованием Java. Я использую стандартную конфигурацию log4j для входа в cloudwatch. Я могу получить доступ к переменной среды выполнения лямбда-aws в моем log4j, чтобы установить уровень моего журнала. Единственный вопрос, который у меня есть - есть ли способ, которым мы можем установить уровень журнала по умолчанию в отсутствие значения переменной среды в log4j.xml?

Ниже приведена конфигурация log4j.xml, которая у меня есть.

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

1 ответ

Решение

Вы можете перейти на Log4j2 (в настоящее время поддерживается AWS Lambda, вы можете найти подробную информацию о AWS GitHub). Он имеет функцию "Поиск", которая позволяет использовать переменные среды в файле конфигурации Log4j2: http://logging.apache.org/log4j/2.x/manual/lookups.html

Таким образом, вы можете использовать что-то вроде этого в вашем конфигурационном файле: "${env:VAR_NAME:-info}", где -info будет уровнем ведения журнала по умолчанию.

Другие вопросы по тегам