モジュールインストール
npm i @aws-lambda-powertools/logger
ロガーインスタンス生成。これが無いと始まらない
anime-suko.ts
// ロガー設定
const logger = new Logger({ serviceName: "何かしらサービス名" })
常にログに出力させたいものを指定(Attributeを出力ログに含める)
anime-suko.ts
// ログ出力に出力したいものを連想配列で指定して追加
export const addOutputLogValue = async (addValue: Record<string, string>) => {
logger.addPersistentLogAttributes(addValue)
}
通常ログ
※ここから注意だが、logger.infoにはnullやundefinedが入るとエラーになる。いい感じに処理してくれないので、自分でなんとかするしかない。
anime-suko.ts
export const outputLog = async (value: string) => {
// 値が入っているときのみログ出力(nullやundefinedは指定不可能)
if (!value) {
logger.info('ログ出力に指定されたデータが入っていません')
return
}
logger.info(value)
}
エラーログ
anime-suko.ts
export const outputErrorLog = async (value: string) => {
// 値が入っているときのみログ出力(nullやundefinedは指定不可能)
if (!value) {
logger.info('ログ出力に指定されたデータが入っていません')
return
}
logger.error(value)
}
デバッグログ
anime-suko.ts
export const outputDebugLog = async (value: string) => {
// 値が入っているときのみログ出力(nullやundefinedは指定不可能)
if (!value) {
logger.info('ログ出力に指定されたデータが入っていません')
return
}
logger.debug(value)
}