@lytjs/plugin-logger 3.1.0

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 ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var v=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var k=(o,r)=>{for(var i in r)v(o,i,{get:r[i],enumerable:!0})},N=(o,r,i,g)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of _(r))!R.call(o,s)&&s!==i&&v(o,s,{get:()=>r[s],enumerable:!(g=$(r,s))||g.enumerable});return o};var P=o=>N(v({},"__esModule",{value:!0}),o);var j={};k(j,{createLogger:()=>T});module.exports=P(j);var E={debug:0,info:1,warn:2,error:3,silent:4},l={reset:"\x1B[0m",gray:"\x1B[90m",blue:"\x1B[36m",yellow:"\x1B[33m",red:"\x1B[31m",bold:"\x1B[1m"},f="lyt_logger_logs";function h(o){return new Date(o).toISOString()}function C(o){return o.map(r=>{if(r===null)return"null";if(r===void 0)return"undefined";if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r);if(r instanceof Error)return`${r.message}
2
+ ${r.stack||""}`;try{return JSON.stringify(r,null,2)}catch(i){return String(r)}}).join(" ")}function J(o){switch(o){case"debug":return l.gray;case"info":return l.blue;case"warn":return l.yellow;case"error":return l.red;default:return l.reset}}function w(o){return o.toUpperCase().padEnd(5)}function T(o){let{level:r="info",prefix:i="",persist:g=!1,maxLogs:s=1e3,timestamp:m=!0,format:y,transport:p}=o||{},L=r,n=[],b=!1;if(g)try{let e=localStorage.getItem(f);e&&(n=JSON.parse(e))}catch(e){n=[]}function S(){if(g)try{localStorage.setItem(f,JSON.stringify(n))}catch(e){}}function x(e){if(y)return y.replace("{timestamp}",m?h(e.timestamp):"").replace("{level}",w(e.level)).replace("{prefix}",i).replace("{message}",e.message);let t=[];return m&&t.push(h(e.timestamp)),i&&t.push(i),t.push(`${w(e.level)} ${e.message}`),t.join(" ")}function a(e,t){if(b||E[e]<E[L])return;let d={level:e,message:C(t),timestamp:Date.now(),args:[...t]};n.push(d),n.length>s&&(n=n.slice(n.length-s)),S();let O=J(e),I=x(d),c=`${O}${I}${l.reset}`;switch(e){case"debug":console.debug(c,...t);break;case"info":console.info(c,...t);break;case"warn":console.warn(c,...t);break;case"error":console.error(c,...t);break}if(p)try{p(d)}catch(A){}}let u={install(e,t){e.config=e.config||{},e.config.globalProperties=e.config.globalProperties||{},e.config.globalProperties.$logger=u,typeof e.provide=="function"&&e.provide("logger",u)},debug(...e){a("debug",e)},info(...e){a("info",e)},warn(...e){a("warn",e)},error(...e){a("error",e)},setLevel(e){L=e},getLevel(){return L},getLogs(){return[...n]},clearLogs(){if(n=[],g)try{localStorage.removeItem(f)}catch(e){}},destroy(){if(b=!0,n=[],g)try{localStorage.removeItem(f)}catch(e){}}};return u}
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ var b={debug:0,info:1,warn:2,error:3,silent:4},i={reset:"\x1B[0m",gray:"\x1B[90m",blue:"\x1B[36m",yellow:"\x1B[33m",red:"\x1B[31m",bold:"\x1B[1m"},c="lyt_logger_logs";function E(n){return new Date(n).toISOString()}function I(n){return n.map(r=>{if(r===null)return"null";if(r===void 0)return"undefined";if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r);if(r instanceof Error)return`${r.message}
2
+ ${r.stack||""}`;try{return JSON.stringify(r,null,2)}catch(s){return String(r)}}).join(" ")}function $(n){switch(n){case"debug":return i.gray;case"info":return i.blue;case"warn":return i.yellow;case"error":return i.red;default:return i.reset}}function h(n){return n.toUpperCase().padEnd(5)}function R(n){let{level:r="info",prefix:s="",persist:g=!1,maxLogs:d=1e3,timestamp:v=!0,format:m,transport:y}=n||{},f=r,t=[],p=!1;if(g)try{let e=localStorage.getItem(c);e&&(t=JSON.parse(e))}catch(e){t=[]}function w(){if(g)try{localStorage.setItem(c,JSON.stringify(t))}catch(e){}}function S(e){if(m)return m.replace("{timestamp}",v?E(e.timestamp):"").replace("{level}",h(e.level)).replace("{prefix}",s).replace("{message}",e.message);let o=[];return v&&o.push(E(e.timestamp)),s&&o.push(s),o.push(`${h(e.level)} ${e.message}`),o.join(" ")}function l(e,o){if(p||b[e]<b[f])return;let u={level:e,message:I(o),timestamp:Date.now(),args:[...o]};t.push(u),t.length>d&&(t=t.slice(t.length-d)),w();let x=$(e),O=S(u),a=`${x}${O}${i.reset}`;switch(e){case"debug":console.debug(a,...o);break;case"info":console.info(a,...o);break;case"warn":console.warn(a,...o);break;case"error":console.error(a,...o);break}if(y)try{y(u)}catch(_){}}let L={install(e,o){e.config=e.config||{},e.config.globalProperties=e.config.globalProperties||{},e.config.globalProperties.$logger=L,typeof e.provide=="function"&&e.provide("logger",L)},debug(...e){l("debug",e)},info(...e){l("info",e)},warn(...e){l("warn",e)},error(...e){l("error",e)},setLevel(e){f=e},getLevel(){return f},getLogs(){return[...t]},clearLogs(){if(t=[],g)try{localStorage.removeItem(c)}catch(e){}},destroy(){if(p=!0,t=[],g)try{localStorage.removeItem(c)}catch(e){}}};return L}export{R as createLogger};
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@lytjs/plugin-logger",
3
+ "version": "3.1.0",
4
+ "description": "Lyt.js 日志插件 - 提供分级日志记录、日志过滤和持久化存储功能",
5
+ "main": "./src/index.ts",
6
+ "module": "./src/index.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./src/index.ts",
10
+ "require": "./src/index.ts",
11
+ "default": "./src/index.ts"
12
+ }
13
+ },
14
+ "sideEffects": false,
15
+ "files": ["dist"],
16
+ "license": "MIT",
17
+ "author": "lytjs",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://gitee.com/@lytjs/lytjs"
21
+ },
22
+ "homepage": "https://gitee.com/@lytjs/lytjs",
23
+ "keywords": [
24
+ "lyt",
25
+ "lytjs",
26
+ "javascript",
27
+ "framework",
28
+ "frontend",
29
+ "vue-like",
30
+ "lightweight",
31
+ "zero-dependency",
32
+ "logger",
33
+ "logging",
34
+ "log",
35
+ "日志"
36
+ ],
37
+ "publishConfig": {
38
+ "access": "public"
39
+ }
40
+ }