hapi
plugin for taking a process dump and cleaning up after an uncaught exception
Lead Maintainer: Colin Ihrig
Table of Contents
Overview
When an uncaughtException
is encountered a heap dump will be output to the
plugin folder. A log file is also written containing the exception details.
After this is complete the process will exit with a failure code. Heap dumps can
also be taken at arbitrary times by sending a SIGUSR1
signal to the server
process.
Example
The following example shows how to register and configure poop
. In this example,
an uncaught exception is thrown after poop
is registered. This will trigger a
heap dump and poop.log
file to be created.
'use strict';
var Path = require('path');
var Hapi = require('hapi');
var Poop = require('poop');
var server = new Hapi.Server();
server.register({
register: Poop,
options: {
logPath: Path.join(__dirname, 'poop.log')
}
}, function () {
throw new Error('uncaught');
});
Settings
The following options are available when configuring poop
.
heapdumpFolder
The directory to place heap dump files. Defaults to the process current working directory.
logPath
The file path to log any uncaught exception errors. Defaults to poop.log
in
the process current working directory.
writeStreamOptions
Options passed to the write stream of the log file. Uses Node's defaults:
{
flags: 'w',
encoding: null,
fd: null,
mode: 0666
}