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.
@@ -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}`}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}`;
27
+ }
28
+ //#endregion
29
+ export { n, r as t };
package/dist/index.esm.js CHANGED
@@ -1,42 +1,12 @@
1
- import { a } from "./node-md3-PT4o.mjs";
2
- import { L as i, c as f, g as L, l, b as m, d as c, m as d, s as v } from "./node-md3-PT4o.mjs";
3
- import { g as u, B as C, C as B, L as F, P as b, d as w, f as x, a as E, c as y, b as D, i as S, s as P, e as T } from "./browser-Daz7tvRv.mjs";
4
- import { a as G, f as N } from "./formatting-BkTf4uG7.mjs";
5
- const r = a(), g = {
6
- // biome-ignore lint/suspicious/noExplicitAny: Intentional - legacy API accepts arbitrary metadata
7
- debug: (e, o) => r.debug(e, o),
8
- // biome-ignore lint/suspicious/noExplicitAny: Intentional - legacy API accepts arbitrary metadata
9
- info: (e, o) => r.info(e, o),
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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./node-ooDjKAKE.js"),e=require("./browser-BYqYELrw.js"),t=require("./formatting-CBWhnvN2.js"),n=o.createLoggerForEnvironment(),i={debug:(r,g)=>n.debug(r,g),info:(r,g)=>n.info(r,g),warn:(r,g)=>n.warn(r,g),error:(r,g)=>n.error(r,g)};exports.LoggerFactory=o.LoggerFactory;exports.createLogger=o.createLogger;exports.createLoggerForEnvironment=o.createLoggerForEnvironment;exports.getDefaultConfig=o.getDefaultConfig;exports.loadConfigFromEnvironment=o.loadConfigFromEnvironment;exports.loadConfigFromFile=o.loadConfigFromFile;exports.logLevelToString=o.logLevelToString;exports.mergeConfigs=o.mergeConfigs;exports.stringToLogLevel=o.stringToLogLevel;exports.BaseLogger=e.BaseLogger;exports.BrowserLogger=e.BrowserLogger;exports.ConsoleGroupLogger=e.ConsoleGroupLogger;exports.LogLevel=e.LogLevel;exports.PerformanceLogger=e.PerformanceLogger;exports.detectRuntime=e.detectRuntime;exports.filterSensitiveData=e.filterSensitiveData;exports.isBrowser=e.isBrowser;exports.isBun=e.isBun;exports.isDeno=e.isDeno;exports.isNode=e.isNode;exports.safeStringify=e.safeStringify;exports.serializeError=e.serializeError;exports.formatLevel=t.formatLevel;exports.formatLogEntry=t.formatLogEntry;exports.log=i;exports.logger=n;
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 { N as a, c as o, a as g, e as t } from "./node-md3-PT4o.mjs";
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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./node-ooDjKAKE.js");exports.NodeLogger=e.NodeLogger;exports.createLogger=e.createLogger;exports.createLoggerForEnvironment=e.createLoggerForEnvironment;exports.createMorganStream=e.createMorganStream;
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.18",
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": "^7.3.1",
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;
@@ -1,4 +0,0 @@
1
- const e = {};
2
- export {
3
- e as default
4
- };
@@ -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;