@quatrain/log 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AbstractLoggerAdapter.d.ts +1 -0
- package/dist/AbstractLoggerAdapter.d.ts.map +1 -1
- package/dist/AbstractLoggerAdapter.js +20 -2
- package/dist/AbstractLoggerAdapter.js.map +1 -1
- package/dist/DefaultLoggerAdapter.d.ts.map +1 -1
- package/dist/DefaultLoggerAdapter.js +1 -1
- package/dist/DefaultLoggerAdapter.js.map +1 -1
- package/package.json +1 -1
- package/src/AbstractLoggerAdapter.ts +23 -2
- package/src/DefaultLoggerAdapter.test.ts +13 -12
- package/src/DefaultLoggerAdapter.ts +2 -2
|
@@ -15,6 +15,7 @@ export interface LoggerType {
|
|
|
15
15
|
trace(message: string): void;
|
|
16
16
|
}
|
|
17
17
|
export declare const loglevelNames: string[];
|
|
18
|
+
export declare function getEnvLogLevel(defaultLevel: LogLevel): LogLevel;
|
|
18
19
|
export declare abstract class AbstractLoggerAdapter implements LoggerType {
|
|
19
20
|
protected _me: string;
|
|
20
21
|
protected _logLevel: LogLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLoggerAdapter.d.ts","sourceRoot":"","sources":["../src/AbstractLoggerAdapter.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACjB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACZ;AAED,MAAM,WAAW,UAAU;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,aAAa,UAOzB,CAAA;AAMD,8BAAsB,qBAAsB,YAAW,UAAU;IAC9D,SAAS,CAAC,GAAG,EAAE,MAAM,CAAK;IAC1B,SAAS,CAAC,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"AbstractLoggerAdapter.d.ts","sourceRoot":"","sources":["../src/AbstractLoggerAdapter.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACjB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACZ;AAED,MAAM,WAAW,UAAU;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,aAAa,UAOzB,CAAA;AAMD,wBAAgB,cAAc,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAc/D;AAMD,8BAAsB,qBAAsB,YAAW,UAAU;IAC9D,SAAS,CAAC,GAAG,EAAE,MAAM,CAAK;IAC1B,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAgC;IAC7D,SAAS,CAAC,OAAO,EAAE,GAAG,CAAY;gBAEtB,MAAM,SAAK,EAAE,MAAM,GAAE,QAAwC;IAUzE,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAQxB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAa3B,gBAAgB,GACb,UAAU,GAAG,EAAE,EACf,YAAW,QAAwB,EACnC,MAAK,MAAW,KAChB,MAAM,CAgBR;IAOD,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;IAS9B,KAAK,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;IAShC,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;IAS/B,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;IAS/B,KAAK,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;IAShC,KAAK,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;CAGlC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractLoggerAdapter = exports.loglevelNames = exports.LogLevel = void 0;
|
|
4
|
+
exports.getEnvLogLevel = getEnvLogLevel;
|
|
4
5
|
var LogLevel;
|
|
5
6
|
(function (LogLevel) {
|
|
6
7
|
LogLevel[LogLevel["TRACE"] = 0] = "TRACE";
|
|
@@ -18,12 +19,29 @@ exports.loglevelNames = [
|
|
|
18
19
|
'ERROR',
|
|
19
20
|
'SILENT',
|
|
20
21
|
];
|
|
22
|
+
function getEnvLogLevel(defaultLevel) {
|
|
23
|
+
if (typeof process === 'undefined' || !process.env)
|
|
24
|
+
return defaultLevel;
|
|
25
|
+
const envLevel = (process.env.LOGLEVEL || '').toUpperCase();
|
|
26
|
+
if (!envLevel)
|
|
27
|
+
return defaultLevel;
|
|
28
|
+
switch (envLevel) {
|
|
29
|
+
case 'TRACE': return LogLevel.TRACE;
|
|
30
|
+
case 'DEBUG': return LogLevel.DEBUG;
|
|
31
|
+
case 'INFO': return LogLevel.INFO;
|
|
32
|
+
case 'WARN': return LogLevel.WARN;
|
|
33
|
+
case 'ERROR': return LogLevel.ERROR;
|
|
34
|
+
case 'SILENT': return LogLevel.SILENT;
|
|
35
|
+
default: return defaultLevel;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
21
38
|
class AbstractLoggerAdapter {
|
|
22
39
|
_me = '';
|
|
23
|
-
_logLevel = LogLevel.WARN;
|
|
40
|
+
_logLevel = getEnvLogLevel(LogLevel.WARN);
|
|
24
41
|
_logger = undefined;
|
|
25
|
-
constructor(prefix = '', _level = LogLevel.WARN) {
|
|
42
|
+
constructor(prefix = '', _level = getEnvLogLevel(LogLevel.WARN)) {
|
|
26
43
|
this._me = prefix;
|
|
44
|
+
this._logLevel = _level;
|
|
27
45
|
}
|
|
28
46
|
logLevel(level) {
|
|
29
47
|
this._logLevel = level;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLoggerAdapter.js","sourceRoot":"","sources":["../src/AbstractLoggerAdapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractLoggerAdapter.js","sourceRoot":"","sources":["../src/AbstractLoggerAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultLoggerAdapter.d.ts","sourceRoot":"","sources":["../src/DefaultLoggerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"DefaultLoggerAdapter.d.ts","sourceRoot":"","sources":["../src/DefaultLoggerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAA;AAOzF,qBAAa,oBAAqB,SAAQ,qBAAqB;gBAChD,MAAM,SAAK,EAAE,KAAK,GAAE,QAAyC;IAWzE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,QAAyB,GAAG,IAAI;IA4C5D,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAU/B,KAAK,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,IAAI;IAS7B,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,IAAI;IAS5B,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,IAAI;IAS5B,KAAK,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,IAAI;IAS7B,KAAK,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,IAAI;CAG/B"}
|
|
@@ -8,7 +8,7 @@ const AbstractLoggerAdapter_1 = require("./AbstractLoggerAdapter");
|
|
|
8
8
|
const loglevel_1 = __importDefault(require("loglevel"));
|
|
9
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
10
|
class DefaultLoggerAdapter extends AbstractLoggerAdapter_1.AbstractLoggerAdapter {
|
|
11
|
-
constructor(prefix = '', level = AbstractLoggerAdapter_1.LogLevel.DEBUG) {
|
|
11
|
+
constructor(prefix = '', level = (0, AbstractLoggerAdapter_1.getEnvLogLevel)(AbstractLoggerAdapter_1.LogLevel.DEBUG)) {
|
|
12
12
|
super(prefix, level);
|
|
13
13
|
this._logger = loglevel_1.default;
|
|
14
14
|
this._logger.setLevel(level);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultLoggerAdapter.js","sourceRoot":"","sources":["../src/DefaultLoggerAdapter.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"DefaultLoggerAdapter.js","sourceRoot":"","sources":["../src/DefaultLoggerAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -25,17 +25,38 @@ export const loglevelNames = [
|
|
|
25
25
|
'SILENT',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Helper to resolve the log level from the environment variables LOGLEVEL or LOG_LEVEL.
|
|
30
|
+
* If not defined or invalid, falls back to the provided default level.
|
|
31
|
+
*/
|
|
32
|
+
export function getEnvLogLevel(defaultLevel: LogLevel): LogLevel {
|
|
33
|
+
if (typeof process === 'undefined' || !process.env) return defaultLevel
|
|
34
|
+
const envLevel = (process.env.LOGLEVEL || '').toUpperCase()
|
|
35
|
+
if (!envLevel) return defaultLevel
|
|
36
|
+
|
|
37
|
+
switch (envLevel) {
|
|
38
|
+
case 'TRACE': return LogLevel.TRACE
|
|
39
|
+
case 'DEBUG': return LogLevel.DEBUG
|
|
40
|
+
case 'INFO': return LogLevel.INFO
|
|
41
|
+
case 'WARN': return LogLevel.WARN
|
|
42
|
+
case 'ERROR': return LogLevel.ERROR
|
|
43
|
+
case 'SILENT': return LogLevel.SILENT
|
|
44
|
+
default: return defaultLevel
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
28
48
|
/**
|
|
29
49
|
* Base abstraction for creating custom logging adapters.
|
|
30
50
|
* Ensures consistent log levels and signature formats across implementations.
|
|
31
51
|
*/
|
|
32
52
|
export abstract class AbstractLoggerAdapter implements LoggerType {
|
|
33
53
|
protected _me: string = ''
|
|
34
|
-
protected _logLevel: LogLevel = LogLevel.WARN
|
|
54
|
+
protected _logLevel: LogLevel = getEnvLogLevel(LogLevel.WARN)
|
|
35
55
|
protected _logger: any = undefined
|
|
36
56
|
|
|
37
|
-
constructor(prefix = '', _level: LogLevel = LogLevel.WARN) {
|
|
57
|
+
constructor(prefix = '', _level: LogLevel = getEnvLogLevel(LogLevel.WARN)) {
|
|
38
58
|
this._me = prefix
|
|
59
|
+
this._logLevel = _level
|
|
39
60
|
}
|
|
40
61
|
|
|
41
62
|
/**
|
|
@@ -13,18 +13,19 @@ jest.mock('loglevel', () => ({
|
|
|
13
13
|
log: jest.fn(),
|
|
14
14
|
}))
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
16
|
+
jest.mock('chalk', () => {
|
|
17
|
+
const mockBold = jest.fn((s) => s)
|
|
18
|
+
const mockWhite = { bold: mockBold }
|
|
19
|
+
const mockBgRed = { white: mockWhite }
|
|
20
|
+
return {
|
|
21
|
+
level: 1,
|
|
22
|
+
grey: jest.fn((s) => s),
|
|
23
|
+
yellow: jest.fn((s) => s),
|
|
24
|
+
green: jest.fn((s) => s),
|
|
25
|
+
red: jest.fn((s) => s),
|
|
26
|
+
bgRed: mockBgRed,
|
|
27
|
+
}
|
|
28
|
+
})
|
|
28
29
|
|
|
29
30
|
describe('DefaultLoggerAdapter', () => {
|
|
30
31
|
let adapter: DefaultLoggerAdapter
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractLoggerAdapter, LogLevel } from './AbstractLoggerAdapter'
|
|
1
|
+
import { AbstractLoggerAdapter, LogLevel, getEnvLogLevel } from './AbstractLoggerAdapter'
|
|
2
2
|
import logger from 'loglevel'
|
|
3
3
|
import chalk from 'chalk'
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ import chalk from 'chalk'
|
|
|
6
6
|
* Default internal implementation relying on `loglevel` and `chalk` for colored console outputs.
|
|
7
7
|
*/
|
|
8
8
|
export class DefaultLoggerAdapter extends AbstractLoggerAdapter {
|
|
9
|
-
constructor(prefix = '', level: LogLevel = LogLevel.DEBUG) {
|
|
9
|
+
constructor(prefix = '', level: LogLevel = getEnvLogLevel(LogLevel.DEBUG)) {
|
|
10
10
|
super(prefix, level)
|
|
11
11
|
this._logger = logger
|
|
12
12
|
this._logger.setLevel(level)
|