@qlover/logger
Advanced tools
+11
-0
| # @qlover/logger | ||
| ## 0.3.3 | ||
| ### Patch Changes | ||
| #### ♻️ Refactors | ||
| - **logger:** Enhance logging system with generic context support ([f5af499](https://github.com/qlover/fe-base/commit/f5af499c5c4a9955f36861978448ec497dc6fcae)) ([#553](https://github.com/qlover/fe-base/pull/553)) | ||
| - Updated `ColorFormatter`, `Logger`, and `HandlerInterface` to utilize generic types for improved type safety and flexibility. | ||
| - Modified `LogEvent` and related interfaces to support context-specific logging, allowing for better handling of diverse log data. | ||
| - Refactored test implementations to align with the new generic structure, ensuring consistency and clarity in logging tests. | ||
| ## 0.3.1 | ||
@@ -4,0 +15,0 @@ |
+1
-1
@@ -1,1 +0,1 @@ | ||
| "use strict";var d=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var L=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},T=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!I.call(n,r)&&r!==e&&d(n,r,{get:()=>t[r],enumerable:!(o=b(t,r))||o.enumerable});return n};var F=n=>T(d({},"__esModule",{value:!0}),n);var k={};L(k,{ConsoleHandler:()=>x,LogContext:()=>l,LogEvent:()=>s,Logger:()=>g,TimestampFormatter:()=>h,defaultLevels:()=>v});module.exports=F(k);var s=class{constructor(t,e,o,r){this.level=t;this.args=e;this.loggerName=o;this.context=r;this.timestamp=Date.now()}timestamp};var l=class{constructor(t){this.value=t}};var v={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},g=class{constructor(t={}){this.options=t;t.name=t.name||Date.now().toString(),t.levels=t.levels||v,t.handlers=Array.isArray(t.handlers)?t.handlers:t.handlers?[t.handlers]:[]}addAppender(t){this.options.handlers.push(t)}context(t){return new l(t)}print(t,e){let{levels:o,level:r,silent:u,handlers:p}=this.options;if(u)return;let a=e.slice(-1)[0],c=e.length>1&&a instanceof l;if(a=c?a:void 0,e=c?e.slice(0,-1):e,t=a?.value?.level??t,r&&o){let i=o[r],f=o[t];if(i!=null&&f!=null&&f>i)return}let m=new s(t,e,this.options.name,a);for(let i of p)i.append(m)}log(...t){this.print("info",t)}fatal(...t){this.print("fatal",t)}error(...t){this.print("error",t)}warn(...t){this.print("warn",t)}info(...t){this.print("info",t)}debug(...t){this.print("debug",t)}trace(...t){this.print("trace",t)}};var x=class{constructor(t=null){this.formatter=t}setFormatter(t){this.formatter=t}append(t){let{level:e,args:o}=t,r=this.formatter?this.formatter.format(t):o;(console[e]||console.log)(...Array.isArray(r)?r:[r])}};var y={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},h=class{constructor(t={}){this.options=t}replacePrefix(t,e){return t.replace(/\{([^{}]+)\}/g,(o,r)=>e[r]||o)}format({timestamp:t,level:e,args:o,context:r,loggerName:u}){let{locale:p="zh-CN",localeOptions:a,prefixTemplate:c="[{formattedTimestamp} {level}]"}=this.options,m=r?.formatType??"datetime",i=m==="date"?"toLocaleDateString":m==="time"?"toLocaleTimeString":"toLocaleString",f=new Date(t)[i](p,{...y,...a});return[this.replacePrefix(c,{...r,timestamp:t.toString(),level:e,loggerName:u,formattedTimestamp:f,locale:p}),...o]}};0&&(module.exports={ConsoleHandler,LogContext,LogEvent,Logger,TimestampFormatter,defaultLevels}); | ||
| "use strict";var d=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var T=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},y=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!I.call(n,r)&&r!==e&&d(n,r,{get:()=>t[r],enumerable:!(o=C(t,r))||o.enumerable});return n};var F=n=>y(d({},"__esModule",{value:!0}),n);var k={};T(k,{ConsoleHandler:()=>g,LogContext:()=>s,LogEvent:()=>p,Logger:()=>x,TimestampFormatter:()=>h,defaultLevels:()=>b});module.exports=F(k);var p=class{constructor(t,e,o,r){this.level=t;this.args=e;this.loggerName=o;this.context=r;this.timestamp=Date.now()}timestamp};var s=class{constructor(t){this.value=t}};var b={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},x=class{constructor(t={}){this.options=t;t.name=t.name||Date.now().toString(),t.levels=t.levels||b,t.handlers=Array.isArray(t.handlers)?t.handlers:t.handlers?[t.handlers]:[]}addAppender(t){this.options.handlers.push(t)}context(t){return new s(t)}print(t,e){let{levels:o,level:r,silent:f,handlers:l}=this.options;if(f)return;let a=e.slice(-1)[0],c=e.length>1&&a instanceof s;if(a=c?a:void 0,e=c?e.slice(0,-1):e,t=a?.value?.level??t,r&&o){let i=o[r],v=o[t];if(i!=null&&v!=null&&v>i)return}let m=new p(t,e,this.options.name,a),u=Array.isArray(l)?l:[l];for(let i of u)i&&i.append(m)}log(...t){this.print("info",t)}fatal(...t){this.print("fatal",t)}error(...t){this.print("error",t)}warn(...t){this.print("warn",t)}info(...t){this.print("info",t)}debug(...t){this.print("debug",t)}trace(...t){this.print("trace",t)}};var g=class{constructor(t=null){this.formatter=t}setFormatter(t){this.formatter=t}append(t){let{level:e,args:o}=t,r=this.formatter?this.formatter.format(t):o;(console[e]||console.log)(...Array.isArray(r)?r:[r])}};var L={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},h=class{constructor(t={}){this.options=t}replacePrefix(t,e){return t.replace(/\{([^{}]+)\}/g,(o,r)=>e[r]||o)}format({timestamp:t,level:e,args:o,context:r,loggerName:f}){let{locale:l="zh-CN",localeOptions:a,prefixTemplate:c="[{formattedTimestamp} {level}]"}=this.options,m=r?.formatType??"datetime",u=m==="date"?"toLocaleDateString":m==="time"?"toLocaleTimeString":"toLocaleString",i=new Date(t)[u](l,{...L,...a});return[this.replacePrefix(c,{...r,timestamp:t.toString(),level:e,loggerName:f,formattedTimestamp:i,locale:l}),...o]}};0&&(module.exports={ConsoleHandler,LogContext,LogEvent,Logger,TimestampFormatter,defaultLevels}); |
@@ -1,1 +0,1 @@ | ||
| "use strict";var qloverLogger=(()=>{var d=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var L=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},T=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!I.call(n,r)&&r!==e&&d(n,r,{get:()=>t[r],enumerable:!(o=b(t,r))||o.enumerable});return n};var F=n=>T(d({},"__esModule",{value:!0}),n);var k={};L(k,{ConsoleHandler:()=>x,LogContext:()=>l,LogEvent:()=>s,Logger:()=>g,TimestampFormatter:()=>h,defaultLevels:()=>v});var s=class{constructor(t,e,o,r){this.level=t;this.args=e;this.loggerName=o;this.context=r;this.timestamp=Date.now()}timestamp};var l=class{constructor(t){this.value=t}};var v={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},g=class{constructor(t={}){this.options=t;t.name=t.name||Date.now().toString(),t.levels=t.levels||v,t.handlers=Array.isArray(t.handlers)?t.handlers:t.handlers?[t.handlers]:[]}addAppender(t){this.options.handlers.push(t)}context(t){return new l(t)}print(t,e){let{levels:o,level:r,silent:u,handlers:p}=this.options;if(u)return;let a=e.slice(-1)[0],c=e.length>1&&a instanceof l;if(a=c?a:void 0,e=c?e.slice(0,-1):e,t=a?.value?.level??t,r&&o){let i=o[r],f=o[t];if(i!=null&&f!=null&&f>i)return}let m=new s(t,e,this.options.name,a);for(let i of p)i.append(m)}log(...t){this.print("info",t)}fatal(...t){this.print("fatal",t)}error(...t){this.print("error",t)}warn(...t){this.print("warn",t)}info(...t){this.print("info",t)}debug(...t){this.print("debug",t)}trace(...t){this.print("trace",t)}};var x=class{constructor(t=null){this.formatter=t}setFormatter(t){this.formatter=t}append(t){let{level:e,args:o}=t,r=this.formatter?this.formatter.format(t):o;(console[e]||console.log)(...Array.isArray(r)?r:[r])}};var y={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},h=class{constructor(t={}){this.options=t}replacePrefix(t,e){return t.replace(/\{([^{}]+)\}/g,(o,r)=>e[r]||o)}format({timestamp:t,level:e,args:o,context:r,loggerName:u}){let{locale:p="zh-CN",localeOptions:a,prefixTemplate:c="[{formattedTimestamp} {level}]"}=this.options,m=r?.formatType??"datetime",i=m==="date"?"toLocaleDateString":m==="time"?"toLocaleTimeString":"toLocaleString",f=new Date(t)[i](p,{...y,...a});return[this.replacePrefix(c,{...r,timestamp:t.toString(),level:e,loggerName:u,formattedTimestamp:f,locale:p}),...o]}};return F(k);})(); | ||
| "use strict";var qloverLogger=(()=>{var d=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var T=(n,t)=>{for(var e in t)d(n,e,{get:t[e],enumerable:!0})},y=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!I.call(n,r)&&r!==e&&d(n,r,{get:()=>t[r],enumerable:!(o=C(t,r))||o.enumerable});return n};var F=n=>y(d({},"__esModule",{value:!0}),n);var k={};T(k,{ConsoleHandler:()=>g,LogContext:()=>s,LogEvent:()=>p,Logger:()=>x,TimestampFormatter:()=>h,defaultLevels:()=>b});var p=class{constructor(t,e,o,r){this.level=t;this.args=e;this.loggerName=o;this.context=r;this.timestamp=Date.now()}timestamp};var s=class{constructor(t){this.value=t}};var b={fatal:0,error:10,warn:20,info:30,debug:40,trace:50,log:60},x=class{constructor(t={}){this.options=t;t.name=t.name||Date.now().toString(),t.levels=t.levels||b,t.handlers=Array.isArray(t.handlers)?t.handlers:t.handlers?[t.handlers]:[]}addAppender(t){this.options.handlers.push(t)}context(t){return new s(t)}print(t,e){let{levels:o,level:r,silent:f,handlers:l}=this.options;if(f)return;let a=e.slice(-1)[0],c=e.length>1&&a instanceof s;if(a=c?a:void 0,e=c?e.slice(0,-1):e,t=a?.value?.level??t,r&&o){let i=o[r],v=o[t];if(i!=null&&v!=null&&v>i)return}let m=new p(t,e,this.options.name,a),u=Array.isArray(l)?l:[l];for(let i of u)i&&i.append(m)}log(...t){this.print("info",t)}fatal(...t){this.print("fatal",t)}error(...t){this.print("error",t)}warn(...t){this.print("warn",t)}info(...t){this.print("info",t)}debug(...t){this.print("debug",t)}trace(...t){this.print("trace",t)}};var g=class{constructor(t=null){this.formatter=t}setFormatter(t){this.formatter=t}append(t){let{level:e,args:o}=t,r=this.formatter?this.formatter.format(t):o;(console[e]||console.log)(...Array.isArray(r)?r:[r])}};var L={hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC"},h=class{constructor(t={}){this.options=t}replacePrefix(t,e){return t.replace(/\{([^{}]+)\}/g,(o,r)=>e[r]||o)}format({timestamp:t,level:e,args:o,context:r,loggerName:f}){let{locale:l="zh-CN",localeOptions:a,prefixTemplate:c="[{formattedTimestamp} {level}]"}=this.options,m=r?.formatType??"datetime",u=m==="date"?"toLocaleDateString":m==="time"?"toLocaleTimeString":"toLocaleString",i=new Date(t)[u](l,{...L,...a});return[this.replacePrefix(c,{...r,timestamp:t.toString(),level:e,loggerName:f,formattedTimestamp:i,locale:l}),...o]}};return F(k);})(); |
+5
-2
@@ -231,4 +231,7 @@ // src/interface/LogEvent.ts | ||
| const logEvent = new LogEvent(level, args, this.options.name, ctx); | ||
| for (const handler of handlers) { | ||
| handler.append(logEvent); | ||
| const _handlers = Array.isArray(handlers) ? handlers : [handlers]; | ||
| for (const handler of _handlers) { | ||
| if (handler) { | ||
| handler.append(logEvent); | ||
| } | ||
| } | ||
@@ -235,0 +238,0 @@ } |
+1
-1
| { | ||
| "name": "@qlover/logger", | ||
| "version": "0.3.1", | ||
| "version": "0.3.3", | ||
| "type": "module", | ||
@@ -5,0 +5,0 @@ "private": false, |
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
119646
0.77%3316
0.09%