2017-10-31 8 views
0

私のコントロールできない第三者のライブラリ(puppeteer)は、エラーをprocess.stderrに記録しています。process.stderrに書き込まれたエラーをAWS Lambdaコンソールに表示する方法を教えてください。

Aws Lambdaで動作している間に、これらのエラーをログに記録して検査することができます。 (process.stderrとprocess.stdoutはLambdaコンソールには表示されません)

Lambda afaikでこれを行う方法は、Lambdaに特別な実装を持つconsole.error/console.logなどを使用することです。

だから私は考え出し最善の策のような何かを行うことでした。

process.stderr.on('data', function (buffer) { 
    console.error(buffer.toString()) 
}); 

をしかし、これはどちらか私に何も結果を与えるものではありません。

process.stderrに書き込まれたエラーは、Awsのラムダコンソールに表示されます。次のようにprocess.stderr.writeを上書きすることによってそれを修正するために管理

+0

あなたは内部の 'page.evaluate()'からコンソールへの書き込みしようとしていますか? –

+0

@ Mark_M:そうではありません。私は 'processio.'に子プロセス(chrome)のエラーを出力する' dumpio:true'引数でクロムクラッシュを記録しようとしています。 –

答えて

3

process.stderr.write = (function() { 
    return function (buffer) { 
    //NOTE: console.error doens't use process.stderr in Aws lambda, so this doesn't result in a livelock 
    console.error(buffer.toString()); 
    }; 
}()); 
関連する問題