@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 +2 -0
- package/dist/index.mjs +2 -0
- package/package.json +40 -0
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
|
+
}
|