logan-logger 1.1.18 → 1.1.19
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/__vite-browser-external-C71mkwFX.mjs +7 -0
- package/dist/__vite-browser-external-DcEHEw3a.js +1 -0
- package/dist/browser-D9bA4EUQ.js +1 -0
- package/dist/browser-DV_BQqDK.mjs +272 -0
- package/dist/browser.esm.js +52 -80
- package/dist/browser.js +1 -1
- package/dist/bun.esm.js +4 -22
- package/dist/bun.js +1 -1
- package/dist/deno.esm.js +4 -24
- package/dist/deno.js +1 -1
- package/dist/factory-CG8zWIqv.mjs +262 -0
- package/dist/factory-Uhw2LFdb.js +1 -0
- package/dist/formatting-BHJ25M3U.js +1 -0
- package/dist/formatting-DP_57uSR.mjs +29 -0
- package/dist/index.esm.js +11 -41
- package/dist/index.js +1 -1
- package/dist/node.esm.js +2 -7
- package/dist/node.js +1 -1
- package/package.json +2 -2
- package/dist/__vite-browser-external-BcPniuRQ.js +0 -1
- package/dist/__vite-browser-external-DYxpcVy9.mjs +0 -4
- package/dist/browser-BYqYELrw.js +0 -1
- package/dist/browser-Daz7tvRv.mjs +0 -313
- package/dist/formatting-BkTf4uG7.mjs +0 -36
- package/dist/formatting-CBWhnvN2.js +0 -1
- package/dist/node-md3-PT4o.mjs +0 -341
- package/dist/node-ooDjKAKE.js +0 -1
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { a as e, c as t, l as n, s as r, t as i } from "./browser-DV_BQqDK.mjs";
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
var a = Object.create, o = Object.defineProperty, s = Object.getOwnPropertyDescriptor, c = Object.getOwnPropertyNames, l = Object.getPrototypeOf, u = Object.prototype.hasOwnProperty, d = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), f = (e, t, n, r) => {
|
|
4
|
+
if (t && typeof t == "object" || typeof t == "function") for (var i = c(t), a = 0, l = i.length, d; a < l; a++) d = i[a], !u.call(e, d) && d !== n && o(e, d, {
|
|
5
|
+
get: ((e) => t[e]).bind(null, d),
|
|
6
|
+
enumerable: !(r = s(t, d)) || r.enumerable
|
|
7
|
+
});
|
|
8
|
+
return e;
|
|
9
|
+
}, p = (e, t, n) => (n = e == null ? {} : a(l(e)), f(t || !e || !e.__esModule || !u.call(e, "default") ? o(n, "default", {
|
|
10
|
+
value: e,
|
|
11
|
+
enumerable: !0
|
|
12
|
+
}) : n, e)), m = class n extends r {
|
|
13
|
+
constructor(e = {}) {
|
|
14
|
+
super(e), this.initializeWinston();
|
|
15
|
+
}
|
|
16
|
+
async initializeWinston() {
|
|
17
|
+
try {
|
|
18
|
+
let e = await import("winston");
|
|
19
|
+
this.winston = this.createWinstonLogger(e);
|
|
20
|
+
} catch (e) {
|
|
21
|
+
console.warn("[logan-logger] Winston not found, falling back to console logging:", e);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
createWinstonLogger(e) {
|
|
25
|
+
let t = e.format.combine(e.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), e.format.errors({ stack: !0 }), e.format.json(), e.format.prettyPrint()), n = e.format.combine(e.format.colorize(), e.format.timestamp({ format: "HH:mm:ss" }), e.format.printf(({ timestamp: e, level: t, message: n, ...r }) => `${e} [${t}]: ${n} ${Object.keys(r).length ? JSON.stringify(r, null, 2) : ""}`)), r = e.createLogger({
|
|
26
|
+
level: this.getWinstonLevel(this.level),
|
|
27
|
+
format: t,
|
|
28
|
+
transports: [new e.transports.Console({ format: process.env.NODE_ENV === "production" ? t : n })]
|
|
29
|
+
});
|
|
30
|
+
return process.env.NODE_ENV === "production" && (r.add(new e.transports.File({
|
|
31
|
+
filename: "logs/error.log",
|
|
32
|
+
level: "error",
|
|
33
|
+
maxsize: 5242880,
|
|
34
|
+
maxFiles: 5
|
|
35
|
+
})), r.add(new e.transports.File({
|
|
36
|
+
filename: "logs/combined.log",
|
|
37
|
+
maxsize: 5242880,
|
|
38
|
+
maxFiles: 10
|
|
39
|
+
}))), r;
|
|
40
|
+
}
|
|
41
|
+
writeLog(e) {
|
|
42
|
+
this.winston ? this.winston.log({
|
|
43
|
+
level: this.getWinstonLevel(e.level),
|
|
44
|
+
message: e.message,
|
|
45
|
+
timestamp: e.timestamp,
|
|
46
|
+
...e.metadata
|
|
47
|
+
}) : this.writeToConsole(e);
|
|
48
|
+
}
|
|
49
|
+
createChild() {
|
|
50
|
+
return new n(this.config);
|
|
51
|
+
}
|
|
52
|
+
writeToConsole(n) {
|
|
53
|
+
let r = n.timestamp.toISOString(), i = t[n.level].toLowerCase(), a = n.metadata ? ` ${e(n.metadata)}` : "", o = `[${r}] ${i.toUpperCase()}: ${n.message}${a}`;
|
|
54
|
+
switch (n.level) {
|
|
55
|
+
case t.DEBUG:
|
|
56
|
+
console.debug(o);
|
|
57
|
+
break;
|
|
58
|
+
case t.INFO:
|
|
59
|
+
console.info(o);
|
|
60
|
+
break;
|
|
61
|
+
case t.WARN:
|
|
62
|
+
console.warn(o);
|
|
63
|
+
break;
|
|
64
|
+
case t.ERROR: console.error(o);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
getWinstonLevel(e) {
|
|
68
|
+
switch (e) {
|
|
69
|
+
case t.DEBUG: return "debug";
|
|
70
|
+
case t.INFO: return "info";
|
|
71
|
+
case t.WARN: return "warn";
|
|
72
|
+
case t.ERROR: return "error";
|
|
73
|
+
default: return "info";
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
setLevel(e) {
|
|
77
|
+
super.setLevel(e), this.winston && (this.winston.level = this.getWinstonLevel(e));
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
function h(e) {
|
|
81
|
+
return { write: (t) => {
|
|
82
|
+
e.info(t.trim());
|
|
83
|
+
} };
|
|
84
|
+
}
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region src/utils/config.ts
|
|
87
|
+
function g() {
|
|
88
|
+
let e = n();
|
|
89
|
+
return {
|
|
90
|
+
level: t.INFO,
|
|
91
|
+
format: "text",
|
|
92
|
+
timestamp: !0,
|
|
93
|
+
colorize: e.capabilities.colorSupport,
|
|
94
|
+
metadata: {},
|
|
95
|
+
transports: [{
|
|
96
|
+
type: "console",
|
|
97
|
+
options: {}
|
|
98
|
+
}]
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function _() {
|
|
102
|
+
let e = {};
|
|
103
|
+
if (typeof process < "u" && process.env) {
|
|
104
|
+
let t = process.env;
|
|
105
|
+
t.LOG_LEVEL && (e.level = S(t.LOG_LEVEL)), t.LOG_FORMAT && ["json", "text"].includes(t.LOG_FORMAT) && (e.format = t.LOG_FORMAT), t.LOG_TIMESTAMP && (e.timestamp = t.LOG_TIMESTAMP.toLowerCase() === "true"), t.LOG_COLOR && (e.colorize = t.LOG_COLOR.toLowerCase() === "true");
|
|
106
|
+
}
|
|
107
|
+
return e;
|
|
108
|
+
}
|
|
109
|
+
async function v(e) {
|
|
110
|
+
let t = n();
|
|
111
|
+
if (!t.capabilities.fileSystem) return {};
|
|
112
|
+
let r = e ? [e] : [
|
|
113
|
+
"logan.config.json",
|
|
114
|
+
"logan.config.js",
|
|
115
|
+
".loganrc",
|
|
116
|
+
"package.json"
|
|
117
|
+
];
|
|
118
|
+
for (let e of r) try {
|
|
119
|
+
if (t.name === "node") return await y(e);
|
|
120
|
+
if (t.name === "deno") return await b(e);
|
|
121
|
+
if (t.name === "bun") return await x(e);
|
|
122
|
+
} catch {}
|
|
123
|
+
return {};
|
|
124
|
+
}
|
|
125
|
+
async function y(e) {
|
|
126
|
+
try {
|
|
127
|
+
let t = await import("./__vite-browser-external-C71mkwFX.mjs").then((e) => /* @__PURE__ */ p(e.default)), n = await import("./__vite-browser-external-C71mkwFX.mjs").then((e) => /* @__PURE__ */ p(e.default));
|
|
128
|
+
if (e.endsWith(".json")) {
|
|
129
|
+
let n = await t.readFile(e, "utf-8"), r = JSON.parse(n);
|
|
130
|
+
return e === "package.json" ? r.logan || {} : r;
|
|
131
|
+
}
|
|
132
|
+
if (e.endsWith(".js")) {
|
|
133
|
+
let t = await import(
|
|
134
|
+
/* @vite-ignore */
|
|
135
|
+
`file://${n.resolve(e)}`
|
|
136
|
+
);
|
|
137
|
+
return t.default || t;
|
|
138
|
+
}
|
|
139
|
+
} catch {}
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
async function b(e) {
|
|
143
|
+
try {
|
|
144
|
+
if (e.endsWith(".json")) {
|
|
145
|
+
let t = await globalThis.Deno.readTextFile(e), n = JSON.parse(t);
|
|
146
|
+
return e === "package.json" ? n.logan || {} : n;
|
|
147
|
+
}
|
|
148
|
+
if (e.endsWith(".js")) {
|
|
149
|
+
let t = await import(
|
|
150
|
+
/* @vite-ignore */
|
|
151
|
+
`./${e}`
|
|
152
|
+
);
|
|
153
|
+
return t.default || t;
|
|
154
|
+
}
|
|
155
|
+
} catch {}
|
|
156
|
+
return {};
|
|
157
|
+
}
|
|
158
|
+
async function x(e) {
|
|
159
|
+
return y(e);
|
|
160
|
+
}
|
|
161
|
+
function S(e) {
|
|
162
|
+
switch (e.toLowerCase()) {
|
|
163
|
+
case "debug": return t.DEBUG;
|
|
164
|
+
case "info": return t.INFO;
|
|
165
|
+
case "warn":
|
|
166
|
+
case "warning": return t.WARN;
|
|
167
|
+
case "error": return t.ERROR;
|
|
168
|
+
case "silent":
|
|
169
|
+
case "none": return t.SILENT;
|
|
170
|
+
default: return t.INFO;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function C(...e) {
|
|
174
|
+
let t = g();
|
|
175
|
+
return e.reduce((e, t) => ({
|
|
176
|
+
...e,
|
|
177
|
+
...t,
|
|
178
|
+
metadata: {
|
|
179
|
+
...e.metadata,
|
|
180
|
+
...t.metadata
|
|
181
|
+
},
|
|
182
|
+
transports: t.transports || e.transports
|
|
183
|
+
}), t);
|
|
184
|
+
}
|
|
185
|
+
//#endregion
|
|
186
|
+
//#region src/core/factory.ts
|
|
187
|
+
var w = class e {
|
|
188
|
+
static create(t = {}) {
|
|
189
|
+
let r = n(), a = e.mergeConfig(t);
|
|
190
|
+
switch (r.name) {
|
|
191
|
+
case "node": return new m(a);
|
|
192
|
+
case "deno": return new i(a);
|
|
193
|
+
case "bun": return new m(a);
|
|
194
|
+
case "browser":
|
|
195
|
+
case "webworker": return new i(a);
|
|
196
|
+
default: return new i(a);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
static createChild(e, t) {
|
|
200
|
+
return e.child(t);
|
|
201
|
+
}
|
|
202
|
+
static mergeConfig(e) {
|
|
203
|
+
let t = g();
|
|
204
|
+
return {
|
|
205
|
+
...t,
|
|
206
|
+
...e,
|
|
207
|
+
metadata: {
|
|
208
|
+
...t.metadata,
|
|
209
|
+
...e.metadata
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
function T(e) {
|
|
215
|
+
return w.create(e);
|
|
216
|
+
}
|
|
217
|
+
function E() {
|
|
218
|
+
let e = D();
|
|
219
|
+
return T({
|
|
220
|
+
level: O(e),
|
|
221
|
+
colorize: e !== "production",
|
|
222
|
+
timestamp: !0,
|
|
223
|
+
format: e === "production" ? "json" : "text"
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
function D() {
|
|
227
|
+
return typeof process < "u" && process.env ? process.env.NODE_ENV || process.env.NEXT_PUBLIC_APP_ENV || process.env.ENVIRONMENT || "development" : typeof window < "u" && globalThis.__ENV__ || "development";
|
|
228
|
+
}
|
|
229
|
+
function O(e) {
|
|
230
|
+
switch (e) {
|
|
231
|
+
case "production": return t.ERROR;
|
|
232
|
+
case "staging":
|
|
233
|
+
case "test": return t.WARN;
|
|
234
|
+
case "development":
|
|
235
|
+
case "dev": return t.DEBUG;
|
|
236
|
+
default: return t.INFO;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function k(e) {
|
|
240
|
+
switch (e.toLowerCase()) {
|
|
241
|
+
case "debug": return t.DEBUG;
|
|
242
|
+
case "info": return t.INFO;
|
|
243
|
+
case "warn":
|
|
244
|
+
case "warning": return t.WARN;
|
|
245
|
+
case "error": return t.ERROR;
|
|
246
|
+
case "silent":
|
|
247
|
+
case "none": return t.SILENT;
|
|
248
|
+
default: return t.INFO;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function A(e) {
|
|
252
|
+
switch (e) {
|
|
253
|
+
case t.DEBUG: return "debug";
|
|
254
|
+
case t.INFO: return "info";
|
|
255
|
+
case t.WARN: return "warn";
|
|
256
|
+
case t.ERROR: return "error";
|
|
257
|
+
case t.SILENT: return "silent";
|
|
258
|
+
default: return "info";
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
//#endregion
|
|
262
|
+
export { k as a, v as c, h as d, d as f, A as i, C as l, T as n, g as o, E as r, _ as s, w as t, m as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));const l=require("./browser-D9bA4EUQ.js");var u=class e extends l.s{constructor(e={}){super(e),this.initializeWinston()}async initializeWinston(){try{let e=await import(`winston`);this.winston=this.createWinstonLogger(e)}catch(e){console.warn(`[logan-logger] Winston not found, falling back to console logging:`,e)}}createWinstonLogger(e){let t=e.format.combine(e.format.timestamp({format:`YYYY-MM-DD HH:mm:ss`}),e.format.errors({stack:!0}),e.format.json(),e.format.prettyPrint()),n=e.format.combine(e.format.colorize(),e.format.timestamp({format:`HH:mm:ss`}),e.format.printf(({timestamp:e,level:t,message:n,...r})=>`${e} [${t}]: ${n} ${Object.keys(r).length?JSON.stringify(r,null,2):``}`)),r=e.createLogger({level:this.getWinstonLevel(this.level),format:t,transports:[new e.transports.Console({format:process.env.NODE_ENV===`production`?t:n})]});return process.env.NODE_ENV===`production`&&(r.add(new e.transports.File({filename:`logs/error.log`,level:`error`,maxsize:5242880,maxFiles:5})),r.add(new e.transports.File({filename:`logs/combined.log`,maxsize:5242880,maxFiles:10}))),r}writeLog(e){this.winston?this.winston.log({level:this.getWinstonLevel(e.level),message:e.message,timestamp:e.timestamp,...e.metadata}):this.writeToConsole(e)}createChild(){return new e(this.config)}writeToConsole(e){let t=e.timestamp.toISOString(),n=l.c[e.level].toLowerCase(),r=e.metadata?` ${l.a(e.metadata)}`:``,i=`[${t}] ${n.toUpperCase()}: ${e.message}${r}`;switch(e.level){case l.c.DEBUG:console.debug(i);break;case l.c.INFO:console.info(i);break;case l.c.WARN:console.warn(i);break;case l.c.ERROR:console.error(i)}}getWinstonLevel(e){switch(e){case l.c.DEBUG:return`debug`;case l.c.INFO:return`info`;case l.c.WARN:return`warn`;case l.c.ERROR:return`error`;default:return`info`}}setLevel(e){super.setLevel(e),this.winston&&(this.winston.level=this.getWinstonLevel(e))}};function d(e){return{write:t=>{e.info(t.trim())}}}function f(){let e=l.l();return{level:l.c.INFO,format:`text`,timestamp:!0,colorize:e.capabilities.colorSupport,metadata:{},transports:[{type:`console`,options:{}}]}}function p(){let e={};if(typeof process<`u`&&process.env){let t=process.env;t.LOG_LEVEL&&(e.level=v(t.LOG_LEVEL)),t.LOG_FORMAT&&[`json`,`text`].includes(t.LOG_FORMAT)&&(e.format=t.LOG_FORMAT),t.LOG_TIMESTAMP&&(e.timestamp=t.LOG_TIMESTAMP.toLowerCase()===`true`),t.LOG_COLOR&&(e.colorize=t.LOG_COLOR.toLowerCase()===`true`)}return e}async function m(e){let t=l.l();if(!t.capabilities.fileSystem)return{};let n=e?[e]:[`logan.config.json`,`logan.config.js`,`.loganrc`,`package.json`];for(let e of n)try{if(t.name===`node`)return await h(e);if(t.name===`deno`)return await g(e);if(t.name===`bun`)return await _(e)}catch{}return{}}async function h(e){try{let t=await Promise.resolve().then(()=>c(require("./__vite-browser-external-DcEHEw3a.js").default)),n=await Promise.resolve().then(()=>c(require("./__vite-browser-external-DcEHEw3a.js").default));if(e.endsWith(`.json`)){let n=await t.readFile(e,`utf-8`),r=JSON.parse(n);return e===`package.json`?r.logan||{}:r}if(e.endsWith(`.js`)){let t=await import(`file://${n.resolve(e)}`);return t.default||t}}catch{}return{}}async function g(e){try{if(e.endsWith(`.json`)){let t=await globalThis.Deno.readTextFile(e),n=JSON.parse(t);return e===`package.json`?n.logan||{}:n}if(e.endsWith(`.js`)){let t=await import(`./${e}`);return t.default||t}}catch{}return{}}async function _(e){return h(e)}function v(e){switch(e.toLowerCase()){case`debug`:return l.c.DEBUG;case`info`:return l.c.INFO;case`warn`:case`warning`:return l.c.WARN;case`error`:return l.c.ERROR;case`silent`:case`none`:return l.c.SILENT;default:return l.c.INFO}}function y(...e){let t=f();return e.reduce((e,t)=>({...e,...t,metadata:{...e.metadata,...t.metadata},transports:t.transports||e.transports}),t)}var b=class e{static create(t={}){let n=l.l(),r=e.mergeConfig(t);switch(n.name){case`node`:return new u(r);case`deno`:return new l.t(r);case`bun`:return new u(r);case`browser`:case`webworker`:return new l.t(r);default:return new l.t(r)}}static createChild(e,t){return e.child(t)}static mergeConfig(e){let t=f();return{...t,...e,metadata:{...t.metadata,...e.metadata}}}};function x(e){return b.create(e)}function S(){let e=C();return x({level:w(e),colorize:e!==`production`,timestamp:!0,format:e===`production`?`json`:`text`})}function C(){return typeof process<`u`&&process.env?process.env.NODE_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.ENVIRONMENT||`development`:typeof window<`u`&&globalThis.__ENV__||`development`}function w(e){switch(e){case`production`:return l.c.ERROR;case`staging`:case`test`:return l.c.WARN;case`development`:case`dev`:return l.c.DEBUG;default:return l.c.INFO}}function T(e){switch(e.toLowerCase()){case`debug`:return l.c.DEBUG;case`info`:return l.c.INFO;case`warn`:case`warning`:return l.c.WARN;case`error`:return l.c.ERROR;case`silent`:case`none`:return l.c.SILENT;default:return l.c.INFO}}function E(e){switch(e){case l.c.DEBUG:return`debug`;case l.c.INFO:return`info`;case l.c.WARN:return`warn`;case l.c.ERROR:return`error`;case l.c.SILENT:return`silent`;default:return`info`}}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return u}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./browser-D9bA4EUQ.js");function t(t,n=`text`){if(n===`json`){let n={timestamp:t.timestamp.toISOString(),level:e.c[t.level].toLowerCase(),message:t.message,runtime:t.runtime};return t.metadata!==void 0&&(n.metadata=t.metadata),e.a(n)}let r=t.timestamp.toISOString(),i=e.c[t.level].toUpperCase(),a=t.metadata?` ${e.a(t.metadata)}`:``;return`[${r}] ${i}: ${t.message}${a}`}function n(t,n=!1){let r=e.c[t].toUpperCase();if(!n)return r;let i={[e.c.DEBUG]:`\x1B[36m`,[e.c.INFO]:`\x1B[32m`,[e.c.WARN]:`\x1B[33m`,[e.c.ERROR]:`\x1B[31m`,[e.c.SILENT]:`\x1B[37m`};return`${i[t]||i[e.c.INFO]}${r}[0m`}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { a as e, c as t } from "./browser-DV_BQqDK.mjs";
|
|
2
|
+
//#region src/utils/formatting.ts
|
|
3
|
+
function n(n, r = "text") {
|
|
4
|
+
if (r === "json") {
|
|
5
|
+
let r = {
|
|
6
|
+
timestamp: n.timestamp.toISOString(),
|
|
7
|
+
level: t[n.level].toLowerCase(),
|
|
8
|
+
message: n.message,
|
|
9
|
+
runtime: n.runtime
|
|
10
|
+
};
|
|
11
|
+
return n.metadata !== void 0 && (r.metadata = n.metadata), e(r);
|
|
12
|
+
}
|
|
13
|
+
let i = n.timestamp.toISOString(), a = t[n.level].toUpperCase(), o = n.metadata ? ` ${e(n.metadata)}` : "";
|
|
14
|
+
return `[${i}] ${a}: ${n.message}${o}`;
|
|
15
|
+
}
|
|
16
|
+
function r(e, n = !1) {
|
|
17
|
+
let r = t[e].toUpperCase();
|
|
18
|
+
if (!n) return r;
|
|
19
|
+
let i = {
|
|
20
|
+
[t.DEBUG]: "\x1B[36m",
|
|
21
|
+
[t.INFO]: "\x1B[32m",
|
|
22
|
+
[t.WARN]: "\x1B[33m",
|
|
23
|
+
[t.ERROR]: "\x1B[31m",
|
|
24
|
+
[t.SILENT]: "\x1B[37m"
|
|
25
|
+
};
|
|
26
|
+
return `${i[e] || i[t.INFO]}${r}[0m`;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { n, r as t };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,42 +1,12 @@
|
|
|
1
|
-
import { a } from "./
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// biome-ignore lint/suspicious/noExplicitAny: Intentional - legacy API accepts arbitrary metadata
|
|
11
|
-
warn: (e, o) => r.warn(e, o),
|
|
12
|
-
// biome-ignore lint/suspicious/noExplicitAny: Intentional - legacy API accepts arbitrary metadata
|
|
13
|
-
error: (e, o) => r.error(e, o)
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
u as BaseLogger,
|
|
17
|
-
C as BrowserLogger,
|
|
18
|
-
B as ConsoleGroupLogger,
|
|
19
|
-
F as LogLevel,
|
|
20
|
-
i as LoggerFactory,
|
|
21
|
-
b as PerformanceLogger,
|
|
22
|
-
f as createLogger,
|
|
23
|
-
a as createLoggerForEnvironment,
|
|
24
|
-
w as detectRuntime,
|
|
25
|
-
x as filterSensitiveData,
|
|
26
|
-
G as formatLevel,
|
|
27
|
-
N as formatLogEntry,
|
|
28
|
-
L as getDefaultConfig,
|
|
29
|
-
E as isBrowser,
|
|
30
|
-
y as isBun,
|
|
31
|
-
D as isDeno,
|
|
32
|
-
S as isNode,
|
|
33
|
-
l as loadConfigFromEnvironment,
|
|
34
|
-
m as loadConfigFromFile,
|
|
35
|
-
g as log,
|
|
36
|
-
c as logLevelToString,
|
|
37
|
-
r as logger,
|
|
38
|
-
d as mergeConfigs,
|
|
39
|
-
P as safeStringify,
|
|
40
|
-
T as serializeError,
|
|
41
|
-
v as stringToLogLevel
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./factory-CG8zWIqv.mjs";
|
|
2
|
+
import { a as l, c as u, d, f, i as p, l as m, n as h, o as g, p as _, r as v, s as y, t as b, u as x } from "./browser-DV_BQqDK.mjs";
|
|
3
|
+
import { n as S, t as C } from "./formatting-DP_57uSR.mjs";
|
|
4
|
+
//#region src/index.ts
|
|
5
|
+
var w = o(), T = {
|
|
6
|
+
debug: (e, t) => w.debug(e, t),
|
|
7
|
+
info: (e, t) => w.info(e, t),
|
|
8
|
+
warn: (e, t) => w.warn(e, t),
|
|
9
|
+
error: (e, t) => w.error(e, t)
|
|
42
10
|
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { y as BaseLogger, b as BrowserLogger, h as ConsoleGroupLogger, u as LogLevel, c as LoggerFactory, v as PerformanceLogger, i as createLogger, o as createLoggerForEnvironment, m as detectRuntime, p as filterSensitiveData, C as formatLevel, S as formatLogEntry, a as getDefaultConfig, x as isBrowser, d as isBun, f as isDeno, _ as isNode, s as loadConfigFromEnvironment, t as loadConfigFromFile, T as log, n as logLevelToString, w as logger, r as mergeConfigs, l as safeStringify, g as serializeError, e as stringToLogLevel };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./factory-Uhw2LFdb.js"),t=require("./browser-D9bA4EUQ.js"),n=require("./formatting-BHJ25M3U.js");var r=e.r(),i={debug:(e,t)=>r.debug(e,t),info:(e,t)=>r.info(e,t),warn:(e,t)=>r.warn(e,t),error:(e,t)=>r.error(e,t)};exports.BaseLogger=t.s,exports.BrowserLogger=t.t,exports.ConsoleGroupLogger=t.n,exports.LogLevel=t.c,exports.LoggerFactory=e.t,exports.PerformanceLogger=t.r,exports.createLogger=e.n,exports.createLoggerForEnvironment=e.r,exports.detectRuntime=t.l,exports.filterSensitiveData=t.i,exports.formatLevel=n.t,exports.formatLogEntry=n.n,exports.getDefaultConfig=e.o,exports.isBrowser=t.u,exports.isBun=t.d,exports.isDeno=t.f,exports.isNode=t.p,exports.loadConfigFromEnvironment=e.s,exports.loadConfigFromFile=e.c,exports.log=i,exports.logLevelToString=e.i,exports.logger=r,exports.mergeConfigs=e.l,exports.safeStringify=t.a,exports.serializeError=t.o,exports.stringToLogLevel=e.a;
|
package/dist/node.esm.js
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
a as NodeLogger,
|
|
4
|
-
o as createLogger,
|
|
5
|
-
g as createLoggerForEnvironment,
|
|
6
|
-
t as createMorganStream
|
|
7
|
-
};
|
|
1
|
+
import { d as e, n as t, r as n, u as r } from "./factory-CG8zWIqv.mjs";
|
|
2
|
+
export { r as NodeLogger, t as createLogger, n as createLoggerForEnvironment, e as createMorganStream };
|
package/dist/node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./factory-Uhw2LFdb.js");exports.NodeLogger=e.u,exports.createLogger=e.n,exports.createLoggerForEnvironment=e.r,exports.createMorganStream=e.d;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "logan-logger",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.19",
|
|
4
4
|
"packageManager": "pnpm@11.9.0",
|
|
5
5
|
"description": "Universal TypeScript logging library for all JavaScript runtimes",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@types/node": "^25.5.0",
|
|
66
66
|
"@vitest/ui": "^4.1.0",
|
|
67
67
|
"typescript": "^5.9.3",
|
|
68
|
-
"vite": "^
|
|
68
|
+
"vite": "^8.2.2",
|
|
69
69
|
"vite-plugin-dts": "^4.5.4",
|
|
70
70
|
"vitest": "^4.1.0"
|
|
71
71
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={};exports.default=e;
|
package/dist/browser-BYqYELrw.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";function f(){const t=c(),e=m(t),o=g(t);return{name:t,version:e,capabilities:o}}function c(){return typeof globalThis.Deno<"u"?"deno":typeof globalThis.Bun<"u"?"bun":typeof window<"u"&&typeof document<"u"?"browser":typeof globalThis.importScripts=="function"&&typeof window>"u"?"webworker":typeof process<"u"&&process.versions&&process.versions.node?"node":"unknown"}function m(t){switch(t){case"node":return typeof process<"u"?process.version:void 0;case"deno":return typeof globalThis.Deno<"u"?globalThis.Deno.version?.deno:void 0;case"bun":return typeof globalThis.Bun<"u"?globalThis.Bun.version:void 0;case"browser":return typeof navigator<"u"?navigator.userAgent:void 0;default:return}}function g(t){switch(t){case"node":return{fileSystem:!0,colorSupport:!0,processInfo:!0,streams:!0};case"deno":return{fileSystem:!0,colorSupport:!0,processInfo:!0,streams:!0};case"bun":return{fileSystem:!0,colorSupport:!0,processInfo:!0,streams:!0};case"browser":return{fileSystem:!1,colorSupport:!0,processInfo:!1,streams:!1};case"webworker":return{fileSystem:!1,colorSupport:!1,processInfo:!1,streams:!1};default:return{fileSystem:!1,colorSupport:!1,processInfo:!1,streams:!1}}}function h(){return c()==="node"}function y(){return c()==="browser"}function b(){return c()==="deno"}function w(){return c()==="bun"}var n=(t=>(t[t.DEBUG=0]="DEBUG",t[t.INFO=1]="INFO",t[t.WARN=2]="WARN",t[t.ERROR=3]="ERROR",t[t.SILENT=4]="SILENT",t))(n||{});class l{constructor(e={}){this.childMetadata={},this.config=e,this.level=e.level??n.INFO,this.runtime=f().name}debug(e,o){this.log(n.DEBUG,e,o)}info(e,o){this.log(n.INFO,e,o)}warn(e,o){this.log(n.WARN,e,o)}error(e,o){this.log(n.ERROR,e,o)}log(e,o,s){if(!this.shouldLog(e))return;const r=typeof o=="function"?o():o,i={...this.childMetadata,...s},a={timestamp:new Date,level:e,message:r,metadata:Object.keys(i).length>0?i:void 0,runtime:this.runtime};this.writeLog(a)}setLevel(e){this.level=e}getLevel(){return this.level}child(e){const o=this.createChild();return o.childMetadata={...this.childMetadata,...e},o}shouldLog(e){return e>=this.level}}function d(t,e){const o=new WeakSet;return JSON.stringify(t,(s,r)=>{if(typeof r=="object"&&r!==null){if(o.has(r))return"[Circular]";o.add(r)}return r instanceof Error?{name:r.name,message:r.message,stack:r.stack,...Object.getOwnPropertyNames(r).reduce((i,a)=>(a!=="name"&&a!=="message"&&a!=="stack"&&(i[a]=r[a]),i),{})}:typeof r=="function"?`[Function: ${r.name||"anonymous"}]`:r===void 0?"[undefined]":typeof r=="bigint"?`[BigInt: ${r.toString()}]`:typeof r=="symbol"?`[Symbol: ${r.toString()}]`:r},e)}function p(t,e=["password","token","secret","key","auth"]){if(typeof t!="object"||t===null)return t;const o=Array.isArray(t)?[]:{};for(const[s,r]of Object.entries(t))e.some(a=>s.toLowerCase().includes(a.toLowerCase()))?o[s]="[REDACTED]":typeof r=="object"&&r!==null?o[s]=p(r,e):o[s]=r;return o}function S(t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack,...t}:t}class u extends l{constructor(e={}){super(e)}writeLog(e){const o=this.formatMessage(e),s=this.getConsoleStyle(e.level),r=e.metadata?` ${d(e.metadata)}`:"",i=`%c${o}${r}`;switch(e.level){case n.DEBUG:console.debug?console.debug(i,s):console.log(i,s);break;case n.INFO:console.info(i,s);break;case n.WARN:console.warn(i,s);break;case n.ERROR:console.error(i,s);break}}createChild(){return new u(this.config)}formatMessage(e){const o=e.timestamp.toISOString(),s=n[e.level].toUpperCase();return`[${o}] ${s}: ${e.message}`}getConsoleStyle(e){if(!this.config.colorize)return"";switch(e){case n.DEBUG:return"color: #888; font-weight: normal;";case n.INFO:return"color: #007acc; font-weight: normal;";case n.WARN:return"color: #ff8c00; font-weight: bold;";case n.ERROR:return"color: #dc3545; font-weight: bold;";default:return""}}shouldLogInProduction(){return(globalThis.process?.env?.NODE_ENV||globalThis.process?.env?.NEXT_PUBLIC_APP_ENV||"development")!=="production"||this.level<=n.ERROR}shouldLog(e){return!this.shouldLogInProduction()&&e<n.ERROR?!1:super.shouldLog(e)}}class R extends u{constructor(){super(...arguments),this.groupStack=[]}group(e){console.group(e),this.groupStack.push(e)}groupCollapsed(e){console.groupCollapsed(e),this.groupStack.push(e)}groupEnd(){console.groupEnd(),this.groupStack.pop()}getCurrentGroupStack(){return[...this.groupStack]}getCurrentGroupPath(){return this.groupStack.join(" > ")}time(e){console.time(e)}timeEnd(e){console.timeEnd(e)}trace(e,o){console.trace(e,o)}count(e){console.count(e)}countReset(e){console.countReset(e)}table(e){console.table(e)}}class k extends u{mark(e){typeof performance<"u"&&performance.mark&&performance.mark(e)}measure(e,o,s){if(typeof performance<"u"&&performance.measure)try{performance.measure(e,o,s);const r=performance.getEntriesByName(e,"measure");if(r.length>0){const i=r[r.length-1];this.info(`Performance: ${e}`,{duration:i.duration,startTime:i.startTime})}}catch(r){this.warn("Failed to measure performance",{name:e,error:r})}}clearMarks(e){typeof performance<"u"&&performance.clearMarks&&performance.clearMarks(e)}clearMeasures(e){typeof performance<"u"&&performance.clearMeasures&&performance.clearMeasures(e)}}exports.BaseLogger=l;exports.BrowserLogger=u;exports.ConsoleGroupLogger=R;exports.LogLevel=n;exports.PerformanceLogger=k;exports.detectRuntime=f;exports.filterSensitiveData=p;exports.isBrowser=y;exports.isBun=w;exports.isDeno=b;exports.isNode=h;exports.safeStringify=d;exports.serializeError=S;
|