@autofleet/logger 4.1.0 → 4.2.1
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/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +16 -15
- package/dist/index.js +2 -126
- package/dist/index.js.map +1 -0
- package/package.json +22 -10
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var a=require('pino'),pinoCloudLogging=require('pino-cloud-logging');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var l=(t=>(t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal",t))(l||{}),L=n=>n||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),u=(n,e)=>{let r;return process.env.NODE_ENV==="production"?r=a__default.default(pinoCloudLogging.gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a__default.default({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=n,r},s=class{constructor(e){this.#r=[];this.addContextMiddleware=e=>this.#r.push(e);this.trace=(e,r)=>this.winstonLikeLoggerCall("trace",e,r);this.debug=(e,r)=>this.winstonLikeLoggerCall("debug",e,r);this.info=(e,r)=>this.winstonLikeLoggerCall("info",e,r);this.warn=(e,r)=>this.winstonLikeLoggerCall("warn",e,r);this.error=(e,r)=>this.winstonLikeLoggerCall("error",e,r);this.fatal=(e,r)=>this.winstonLikeLoggerCall("fatal",e,r);this.child=e=>this.#e.child(e);this.#e=u(L(e),{mixin:()=>this.addMetadata(),serializers:{...a.stdSerializers,e:a.stdSerializers.errWithCause,err:a.stdSerializers.errWithCause,error:a.stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(a.stdSerializers.errWithCause):a.stdSerializers.errWithCause(r)}}});}#r;#e;winstonLikeLoggerCall(e,r,i){i?this.#e[e](i,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let i=r();Object.assign(e,i);}),e}get level(){return this.#e.level}},w=n=>new s(n);exports.LogLevel=l;exports.LoggerInstanceManager=s;exports.default=w;//# sourceMappingURL=index.cjs.map
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","logLevel","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","LoggerInstanceManager","#contextMiddlewares","middleware","message","meta","metadata","#logger","stdSerializers","val","newMetadata","index_default","loglevel"],"mappings":"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","file":"index.cjs","sourcesContent":["import Pino, { LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\ntype LogLevels = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>) => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown) {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction) => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>) => this.#logger.child(metadata);\n\n get level() {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: LogLevels): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import Pino from 'pino';
|
|
2
|
+
|
|
3
|
+
declare enum LogLevel {
|
|
4
|
+
trace = "trace",
|
|
5
|
+
debug = "debug",
|
|
6
|
+
info = "info",
|
|
7
|
+
warn = "warn",
|
|
8
|
+
error = "error",
|
|
9
|
+
fatal = "fatal"
|
|
10
|
+
}
|
|
11
|
+
type LogLevels = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
|
12
|
+
type MiddlewareFunction = () => Record<string, unknown>;
|
|
13
|
+
declare class LoggerInstanceManager {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(logLevel?: LogLevel);
|
|
16
|
+
private winstonLikeLoggerCall;
|
|
17
|
+
private addMetadata;
|
|
18
|
+
addContextMiddleware: (middleware: MiddlewareFunction) => number;
|
|
19
|
+
trace: (message: string, meta?: unknown) => void;
|
|
20
|
+
debug: (message: string, meta?: unknown) => void;
|
|
21
|
+
info: (message: string, meta?: unknown) => void;
|
|
22
|
+
warn: (message: string, meta?: unknown) => void;
|
|
23
|
+
error: (message: string, meta?: unknown) => void;
|
|
24
|
+
fatal: (message: string, meta?: unknown) => void;
|
|
25
|
+
child: (metadata: Record<string, unknown>) => Pino.Logger<never>;
|
|
26
|
+
get level(): Pino.LevelWithSilentOrString;
|
|
27
|
+
}
|
|
28
|
+
declare const _default: (loglevel?: LogLevels) => LoggerInstanceManager;
|
|
29
|
+
|
|
30
|
+
export { LogLevel, LoggerInstanceManager, _default as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Pino from 'pino';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
declare enum LogLevel {
|
|
3
4
|
trace = "trace",
|
|
4
5
|
debug = "debug",
|
|
5
6
|
info = "info",
|
|
@@ -9,21 +10,21 @@ export declare enum LogLevel {
|
|
|
9
10
|
}
|
|
10
11
|
type LogLevels = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
|
11
12
|
type MiddlewareFunction = () => Record<string, unknown>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
logger: Pino.Logger;
|
|
13
|
+
declare class LoggerInstanceManager {
|
|
14
|
+
#private;
|
|
15
15
|
constructor(logLevel?: LogLevel);
|
|
16
|
-
winstonLikeLoggerCall
|
|
17
|
-
addMetadata
|
|
18
|
-
addContextMiddleware(middleware: MiddlewareFunction)
|
|
19
|
-
trace(message: string, meta?: unknown)
|
|
20
|
-
debug(message: string, meta?: unknown)
|
|
21
|
-
info(message: string, meta?: unknown)
|
|
22
|
-
warn(message: string, meta?: unknown)
|
|
23
|
-
error(message: string, meta?: unknown)
|
|
24
|
-
fatal(message: string, meta?: unknown)
|
|
25
|
-
child(metadata: Record<string, unknown>)
|
|
16
|
+
private winstonLikeLoggerCall;
|
|
17
|
+
private addMetadata;
|
|
18
|
+
addContextMiddleware: (middleware: MiddlewareFunction) => number;
|
|
19
|
+
trace: (message: string, meta?: unknown) => void;
|
|
20
|
+
debug: (message: string, meta?: unknown) => void;
|
|
21
|
+
info: (message: string, meta?: unknown) => void;
|
|
22
|
+
warn: (message: string, meta?: unknown) => void;
|
|
23
|
+
error: (message: string, meta?: unknown) => void;
|
|
24
|
+
fatal: (message: string, meta?: unknown) => void;
|
|
25
|
+
child: (metadata: Record<string, unknown>) => Pino.Logger<never>;
|
|
26
26
|
get level(): Pino.LevelWithSilentOrString;
|
|
27
27
|
}
|
|
28
28
|
declare const _default: (loglevel?: LogLevels) => LoggerInstanceManager;
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
export { LogLevel, LoggerInstanceManager, _default as default };
|
package/dist/index.js
CHANGED
|
@@ -1,126 +1,2 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.LoggerInstanceManager = exports.LogLevel = void 0;
|
|
27
|
-
const pino_1 = __importStar(require("pino"));
|
|
28
|
-
const pino_cloud_logging_1 = require("pino-cloud-logging");
|
|
29
|
-
// eslint-disable-next-line no-shadow
|
|
30
|
-
var LogLevel;
|
|
31
|
-
(function (LogLevel) {
|
|
32
|
-
LogLevel["trace"] = "trace";
|
|
33
|
-
LogLevel["debug"] = "debug";
|
|
34
|
-
LogLevel["info"] = "info";
|
|
35
|
-
LogLevel["warn"] = "warn";
|
|
36
|
-
LogLevel["error"] = "error";
|
|
37
|
-
LogLevel["fatal"] = "fatal";
|
|
38
|
-
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
39
|
-
const getLevel = (logLevel) => {
|
|
40
|
-
if (logLevel)
|
|
41
|
-
return logLevel;
|
|
42
|
-
if (process.env.LOG_LEVEL)
|
|
43
|
-
return process.env.LOG_LEVEL;
|
|
44
|
-
if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV))
|
|
45
|
-
return LogLevel.info;
|
|
46
|
-
if (process.env.NODE_ENV === 'development')
|
|
47
|
-
return LogLevel.debug;
|
|
48
|
-
return LogLevel.debug;
|
|
49
|
-
};
|
|
50
|
-
const createLoggerInstance = (level, options) => {
|
|
51
|
-
let loggerInstance;
|
|
52
|
-
if (process.env.NODE_ENV === 'production') {
|
|
53
|
-
loggerInstance = (0, pino_1.default)((0, pino_cloud_logging_1.gcpLogOptions)(Object.assign({ level: process.env.PINO_LOG_LEVEL || 'info' }, options)));
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
loggerInstance = (0, pino_1.default)(Object.assign({ level: process.env.PINO_LOG_LEVEL || 'info', transport: {
|
|
57
|
-
target: 'pino-pretty',
|
|
58
|
-
options: {
|
|
59
|
-
colorize: true,
|
|
60
|
-
},
|
|
61
|
-
} }, options));
|
|
62
|
-
}
|
|
63
|
-
loggerInstance.level = level;
|
|
64
|
-
return loggerInstance;
|
|
65
|
-
};
|
|
66
|
-
class LoggerInstanceManager {
|
|
67
|
-
constructor(logLevel) {
|
|
68
|
-
this.contextMiddlewares = [];
|
|
69
|
-
this.logger = createLoggerInstance(getLevel(logLevel), {
|
|
70
|
-
mixin: () => this.addMetadata(),
|
|
71
|
-
serializers: Object.assign(Object.assign({}, pino_1.stdSerializers), { e: pino_1.stdSerializers.errWithCause, err: pino_1.stdSerializers.errWithCause, error: pino_1.stdSerializers.errWithCause, errors(val) {
|
|
72
|
-
if (Array.isArray(val)) {
|
|
73
|
-
return val.map(pino_1.stdSerializers.errWithCause);
|
|
74
|
-
}
|
|
75
|
-
return pino_1.stdSerializers.errWithCause(val);
|
|
76
|
-
} }),
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
// To support winston like logging in pino
|
|
80
|
-
winstonLikeLoggerCall(logLevel, message, meta) {
|
|
81
|
-
if (meta) {
|
|
82
|
-
this.logger[logLevel](meta, message);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.logger[logLevel](message);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
addMetadata() {
|
|
89
|
-
const newMetadata = {};
|
|
90
|
-
this.contextMiddlewares.forEach((middleware) => {
|
|
91
|
-
const metadata = middleware();
|
|
92
|
-
Object.assign(newMetadata, metadata);
|
|
93
|
-
});
|
|
94
|
-
return newMetadata;
|
|
95
|
-
}
|
|
96
|
-
addContextMiddleware(middleware) {
|
|
97
|
-
this.contextMiddlewares.push(middleware);
|
|
98
|
-
}
|
|
99
|
-
trace(message, meta) {
|
|
100
|
-
this.winstonLikeLoggerCall(LogLevel.trace, message, meta);
|
|
101
|
-
}
|
|
102
|
-
debug(message, meta) {
|
|
103
|
-
this.winstonLikeLoggerCall(LogLevel.debug, message, meta);
|
|
104
|
-
}
|
|
105
|
-
info(message, meta) {
|
|
106
|
-
this.winstonLikeLoggerCall(LogLevel.info, message, meta);
|
|
107
|
-
}
|
|
108
|
-
warn(message, meta) {
|
|
109
|
-
this.winstonLikeLoggerCall(LogLevel.warn, message, meta);
|
|
110
|
-
}
|
|
111
|
-
error(message, meta) {
|
|
112
|
-
this.winstonLikeLoggerCall(LogLevel.error, message, meta);
|
|
113
|
-
}
|
|
114
|
-
fatal(message, meta) {
|
|
115
|
-
this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);
|
|
116
|
-
}
|
|
117
|
-
child(metadata) {
|
|
118
|
-
return this.logger.child(metadata);
|
|
119
|
-
}
|
|
120
|
-
get level() {
|
|
121
|
-
return this.logger.level;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
exports.LoggerInstanceManager = LoggerInstanceManager;
|
|
125
|
-
// eslint-disable-next-line max-len
|
|
126
|
-
exports.default = (loglevel) => new LoggerInstanceManager(loglevel);
|
|
1
|
+
import a,{stdSerializers}from'pino';import {gcpLogOptions}from'pino-cloud-logging';var l=(t=>(t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal",t))(l||{}),L=n=>n||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),u=(n,e)=>{let r;return process.env.NODE_ENV==="production"?r=a(gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=n,r},s=class{constructor(e){this.#r=[];this.addContextMiddleware=e=>this.#r.push(e);this.trace=(e,r)=>this.winstonLikeLoggerCall("trace",e,r);this.debug=(e,r)=>this.winstonLikeLoggerCall("debug",e,r);this.info=(e,r)=>this.winstonLikeLoggerCall("info",e,r);this.warn=(e,r)=>this.winstonLikeLoggerCall("warn",e,r);this.error=(e,r)=>this.winstonLikeLoggerCall("error",e,r);this.fatal=(e,r)=>this.winstonLikeLoggerCall("fatal",e,r);this.child=e=>this.#e.child(e);this.#e=u(L(e),{mixin:()=>this.addMetadata(),serializers:{...stdSerializers,e:stdSerializers.errWithCause,err:stdSerializers.errWithCause,error:stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(stdSerializers.errWithCause):stdSerializers.errWithCause(r)}}});}#r;#e;winstonLikeLoggerCall(e,r,i){i?this.#e[e](i,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let i=r();Object.assign(e,i);}),e}get level(){return this.#e.level}},w=n=>new s(n);export{l as LogLevel,s as LoggerInstanceManager,w as default};//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","logLevel","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","LoggerInstanceManager","#contextMiddlewares","middleware","message","meta","metadata","#logger","stdSerializers","val","newMetadata","index_default","loglevel"],"mappings":"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","file":"index.js","sourcesContent":["import Pino, { LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\ntype LogLevels = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>) => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown) {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction) => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>) => this.#logger.child(metadata);\n\n get level() {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: LogLevels): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autofleet/logger",
|
|
3
|
-
"version": "4.1
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
7
21
|
"files": [
|
|
8
22
|
"dist",
|
|
9
23
|
"readme.md"
|
|
@@ -13,9 +27,10 @@
|
|
|
13
27
|
"test": "jest --runInBand",
|
|
14
28
|
"test-auto": "jest --watch --runInBand",
|
|
15
29
|
"linter": "eslint ./src",
|
|
16
|
-
"build": "
|
|
30
|
+
"build": "tsup",
|
|
17
31
|
"prepublishOnly": "npm run build",
|
|
18
|
-
"example": "ts-node example.ts"
|
|
32
|
+
"example": "ts-node example.ts",
|
|
33
|
+
"type-check": "tsc --noEmit"
|
|
19
34
|
},
|
|
20
35
|
"jest": {
|
|
21
36
|
"setupTestFrameworkScriptFile": "jest-extended",
|
|
@@ -33,13 +48,9 @@
|
|
|
33
48
|
},
|
|
34
49
|
"homepage": "https://github.com/Autofleet/logger",
|
|
35
50
|
"dependencies": {
|
|
36
|
-
"@google-cloud/logging-winston": "^6.0.0",
|
|
37
|
-
"dotenv": "^5.0.1",
|
|
38
|
-
"object-sizeof": "^1.6.1",
|
|
39
51
|
"pino": "9.2.0",
|
|
40
52
|
"pino-cloud-logging": "^1.0.6",
|
|
41
|
-
"pino-pretty": "^11.2.1"
|
|
42
|
-
"winston": "^3.11.0"
|
|
53
|
+
"pino-pretty": "^11.2.1"
|
|
43
54
|
},
|
|
44
55
|
"devDependencies": {
|
|
45
56
|
"@types/jest": "^29.5.12",
|
|
@@ -54,6 +65,7 @@
|
|
|
54
65
|
"nock": "^10.0.2",
|
|
55
66
|
"ts-jest": "^29.1.5",
|
|
56
67
|
"ts-node": "^10.9.2",
|
|
68
|
+
"tsup": "^8.3.6",
|
|
57
69
|
"typescript": "^5.3.2"
|
|
58
70
|
}
|
|
59
71
|
}
|