#node.js #amazon-web-services #aws-lambda #amazon-cloudwatch
#node.js #amazon-веб-сервисы #aws-lambda #amazon-cloudwatch
Вопрос:
Когда я использую console.log
в своем nodejs lambda, необработанные данные журнала, отображаемые в cloudwatch, имеют временную метку в качестве префикса.
Например, console.log({a:1, b:2}
, будет регистрироваться
2020-09-21T13:05:02.312Zt332c382e-605f-453f-b767-604dd5f542abtINFOt{ a: 1, b: 2 }n
Я знаю, что люди говорят об использовании process.stdout.write
, но я не знаю, как регистрировать DEBUG
уровень в cloudwatch. Все stdout.write
будет показано как INFO
.
Комментарии:
1. Ваша цель — удалить префиксы уровня ведения журнала, такие как INFO, DEBUG, WARN? Не могли бы вы уточнить?
Ответ №1:
Если вы последуете этому примеру https://docs.aws.amazon.com/lambda/latest/dg/nodejs-logging.html
console.log or console.info (INFO)
console.warn (WARN)
console.debug (DEBUG)
Я бы рекомендовал использовать библиотеки регистраторов, такие как pino
или winston
регистраторы, где гораздо больше контроля над протоколированием.
Комментарии:
1. консоль. журнал — это тот, которого мне нужно избегать из-за проблемы в моем сообщении. Итак, я ищу использование стандартного вывода. напишите, чтобы удалить весь префикс.
2. @JoeyYiZhao Почему бы тебе не использовать настоящий регистратор и не попробовать подключиться к нему?
3. что вы имеете в виду
real logger
?