UNPKG

1.24 kBJavaScriptView Raw
1const util = require('util');
2
3const writeLine = (prefix, msg, stream) => {
4 stream.write(`[squidex-client-manager][${prefix}]: ${msg}\n`);
5};
6
7/**
8 * Write a debug message
9 *
10 * @param {the message to write} msg
11 */
12function Debug(msg) {
13 if (process.env.PRODUCTION) {
14 return;
15 }
16 writeLine('debug', msg, process.stdout);
17}
18
19/**
20 * Write a info message to standard output
21 * @param {the message to write} msg
22 */
23const Info = msg => writeLine('info', msg, process.stdout);
24
25/**
26 * Write a error message to standard output
27 * @param {the message to write} msg
28 */
29const Error = (error) => {
30 writeLine('error', error, process.stdout);
31 if (error.stack) {
32 writeLine('stack', error.stack, process.stdout);
33 }
34};
35
36/**
37 * Write out a message before exiting current process
38 * @param {string to print out} msg
39 * @param {error to be printed} err
40 * @param {exitCode the code to be used for the process}
41 */
42const bail = (msg, err, exitCode) => {
43 Info(msg);
44 Error(err);
45
46 if (exitCode) {
47 process.exit(exitCode);
48 } else {
49 process.exit(1);
50 }
51};
52
53const inspect = (prefix, object) => {
54 Info(`${prefix} inspecting ${util.inspect(object)}`);
55};
56
57module.exports.Log = {
58 Debug,
59 Info,
60 Error,
61 bail,
62 inspect,
63};