initLogger
Craft Functionsでは console.log()
をはじめとする console
関係のメソッドは利用できません。代わりに logger
モジュールを使います。
logger
モジュールで出力したログは管理画面の[ログ]タブから確認できます。
Loggerの初期化
MODULESよりinitLogger
を取得したあと、logLevelを指定して実行し、loggerを取得してください。
指定可能なlogLevelは DEBUG
INFO
WARN
ERROR
です。
const { initLogger } = MODULES;const logger = initLogger({logLevel: 'DEBUG'});
メソッド
次のメソッドが利用できます。
debug(data, ...args)
log(data, ...args)
warn(data, ...args)
error(data, ...args)
いずれも引数は同じで、出力されるログのログレベルが変わります(INFO, WARNING, ERROR)。
初期化時に指定したlogLevel以上のログしか出力されません。ログレベル未満のメソッドを実行した場合ログ出力もエラーのthrowもされません。
第1引数がエラーオブジェクトの場合および第2引数がある場合、ログ出力はNode.jsの console.log()
と同じ出力になります。それ以外の場合は第一引数をJSON文字列に変換した値が出力されます。
ログの表示
loggerモジュールで出力したログは、ファンクション詳細画面の[ログ]タブで確認できます。
Example
export default async function (data, { MODULES }) { const sleep = msec => new Promise(resolve => setTimeout(resolve, msec)); await sleep(1000) const {store, initLogger} = MODULES; const logger = initLogger({logLevel: 'INFO'}); logger.log(data); logger.warn('warning'); logger.error('error: ', new Error('Error Message')); // console.log('error: ', new Error('Error Message')) と同じ文字列が出力される};