Files
dougal-software/lib/www/server/debug.js

49 lines
1.9 KiB
JavaScript
Raw Normal View History

const path = require('path');
function debuggers (filename) {
const ns = filename
? "dougal:server:"+path.basename(path.relative(__dirname, filename).replace(/\//g, ':'), path.extname(filename)).replace(/:index$/, "")
: "dougal:server";
const debug = require('debug')(ns);
return {
debug,
// A "panic" condition affecting multiple applications, servers, or sites.
// System is unusable. Notify all technical staff on call.
EMERGENCY: debug.extend("EMERGENCY"),
// A condition requiring immediate correction or indicating a failure in a
// primary system, for example, a loss of a primary ISP connection.
// Fix CRITICAL issues before ALERT-level problems.
CRITICAL: debug.extend("CRITICAL"),
// A condition requiring immediate correction, for example, the loss of a
// backup ISP connection. Notify staff who can fix the problem.
ALERT: debug.extend("ALERT"),
// Non-urgent failures. Notify developers or administrators as errors must
// be resolved within a given time.
ERROR: debug.extend("ERROR"),
// Warning messages are not errors, but they indicate that an error will occur
// if required action is not taken. An example is a file system that is 85% full.
// Each item must be resolved within a given time.
WARNING: debug.extend("WARNING"),
// Events that are unusual but are not error conditions. These items might be
// summarized in an email to developers or administrators to spot potential
// problems. No immediate action is required.
NOTICE: debug.extend("NOTICE"),
// Normal operational messages. These may be harvested for network maintenance
// functions like reporting and throughput measurement. No action is required.
INFO: debug.extend("INFO"),
// Information useful to developers for debugging an application. This information
// is not useful during operations.
DEBUG: debug.extend("DEBUG"),
};
}
module.exports = debuggers;