b5766359475ca1a9191b810694ea308a04850115.svn-base
1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
* exception.js: Utility methods for gathing information about uncaughtExceptions.
*
* (C) 2010 Charlie Robbins
* MIT LICENCE
*
*/
var os = require('os'),
stackTrace = require('stack-trace');
var exception = exports;
exception.getAllInfo = function (err) {
return {
process: exception.getProcessInfo(),
os: exception.getOsInfo(),
trace: exception.getTrace(err),
stack: err.stack.split('\n')
};
};
exception.getProcessInfo = function () {
return {
pid: process.pid,
uid: process.getuid(),
gid: process.getgid(),
cwd: process.cwd(),
execPath: process.execPath,
version: process.version,
argv: process.argv,
memoryUsage: process.memoryUsage()
};
};
exception.getOsInfo = function () {
return {
loadavg: os.loadavg(),
uptime: os.uptime()
};
};
exception.getTrace = function (err) {
var trace = err ? stackTrace.parse(err) : stackTrace.get();
return trace.map(function (site) {
return {
column: site.getColumnNumber(),
file: site.getFileName(),
function: site.getFunctionName(),
line: site.getLineNumber(),
method: site.getMethodName(),
native: site.isNative(),
}
});
};