UNPKG

1.75 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const cluster = require("cluster");
4const core = require("@akala/core");
5let customOutputs = ['error', 'warn', 'verbose', 'debug', 'info'];
6exports.logger = new Proxy(function (rootNamespace) {
7 return new Proxy({}, {
8 get: function (target, prop) {
9 if (!Reflect.has(target, prop) && typeof (prop) == 'string')
10 target[prop] = log(prop + ':' + rootNamespace);
11 return Reflect.get(target, prop);
12 }
13 });
14}, {
15 get: function (target, prop) {
16 if (!Reflect.has(target, prop) && typeof (prop) == 'string')
17 target[prop] = log(prop);
18 return Reflect.get(target, prop);
19 }
20});
21function log(namespace) {
22 if (!cluster.isMaster) {
23 var customOutput = customOutputs.find(o => namespace.startsWith(o + ':'));
24 if (customOutput)
25 namespace = namespace.substring((customOutput + ':').length);
26 customOutput = customOutput || customOutputs.find(o => namespace == o);
27 var moduleNamespace = process.argv[2].replace(/[@\/]/g, ':');
28 if (moduleNamespace[0] == ':')
29 moduleNamespace = moduleNamespace.substring(1);
30 if (customOutput) {
31 if (namespace == moduleNamespace || customOutput == namespace)
32 namespace = moduleNamespace = customOutput + ':' + moduleNamespace;
33 else
34 moduleNamespace = customOutput + ':' + moduleNamespace;
35 }
36 if (!namespace.startsWith(moduleNamespace))
37 namespace = moduleNamespace + ':' + namespace;
38 }
39 return core.log(namespace);
40}
41exports.log = log;
42//# sourceMappingURL=logger.js.map
\No newline at end of file