rslog 1.1.2 → 1.2.0-beta.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/README.md +31 -2
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +6 -6
- package/package.json +12 -11
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A tiny, intuitive, type-friendly logger for Node.js.
|
|
4
4
|
|
|
5
|
-
- **Tiny**. [
|
|
5
|
+
- **Tiny**. [2kB gzipped](https://bundlephobia.com/package/rslog@1).
|
|
6
6
|
- **Clean**. Zero dependencies.
|
|
7
7
|
- **Intuitive**. Clear log prefix.
|
|
8
8
|
- **Type-friendly**. Written in TypeScript.
|
|
@@ -76,7 +76,7 @@ logger.log('This is a log message');
|
|
|
76
76
|
You can create a new logger instance through `createLogger` and specify the log level:
|
|
77
77
|
|
|
78
78
|
```js
|
|
79
|
-
|
|
79
|
+
import { createLogger } from 'rslog';
|
|
80
80
|
|
|
81
81
|
const logger = createLogger({ level: 'warn' });
|
|
82
82
|
|
|
@@ -89,6 +89,12 @@ logger.info('This is a info message');
|
|
|
89
89
|
logger.log('This is a log message');
|
|
90
90
|
```
|
|
91
91
|
|
|
92
|
+
You can also directly modify the level attribute of the logger instance:
|
|
93
|
+
|
|
94
|
+
```js
|
|
95
|
+
logger.level = 'verbose';
|
|
96
|
+
```
|
|
97
|
+
|
|
92
98
|
The log levels of each method are as follows:
|
|
93
99
|
|
|
94
100
|
| Level | Method |
|
|
@@ -99,6 +105,29 @@ The log levels of each method are as follows:
|
|
|
99
105
|
| log | `log` |
|
|
100
106
|
| verbose | `debug` |
|
|
101
107
|
|
|
108
|
+
## Override
|
|
109
|
+
|
|
110
|
+
You can use `logger.override` to override some or all methods of the default logger.
|
|
111
|
+
|
|
112
|
+
```js
|
|
113
|
+
import { logger } from 'rslog';
|
|
114
|
+
|
|
115
|
+
logger.override({
|
|
116
|
+
log: message => {
|
|
117
|
+
console.log(`[LOG] ${message}`);
|
|
118
|
+
},
|
|
119
|
+
info: message => {
|
|
120
|
+
console.log(`[INFO] ${message}`);
|
|
121
|
+
},
|
|
122
|
+
warn: message => {
|
|
123
|
+
console.log(`[WARN] ${message}`);
|
|
124
|
+
},
|
|
125
|
+
error: message => {
|
|
126
|
+
console.log(`[ERROR] ${message}`);
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
```
|
|
130
|
+
|
|
102
131
|
## Environment
|
|
103
132
|
|
|
104
133
|
Rslog provides both CommonJS and ESModule output and supports Node.js >= 14.
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
2
|
-
`);
|
|
1
|
+
var j=Object.create;var O=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var H=(r,t)=>{for(var o in t)O(r,o,{get:t[o],enumerable:!0})},A=(r,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of D(t))!W.call(r,e)&&e!==o&&O(r,e,{get:()=>t[e],enumerable:!(l=B(t,e))||l.enumerable});return r};var C=(r,t,o)=>(o=r!=null?j(U(r)):{},A(t||!r||!r.__esModule?O(o,"default",{value:r,enumerable:!0}):o,r)),K=r=>A(O({},"__esModule",{value:!0}),r);var er={};H(er,{createLogger:()=>R,logger:()=>rr});module.exports=K(er);var L=C(require("process")),F=C(require("os")),y=C(require("tty"));function c(r,t=globalThis.Deno?globalThis.Deno.args:L.default.argv){let o=r.startsWith("-")?"":r.length===1?"-":"--",l=t.indexOf(o+r),e=t.indexOf("--");return l!==-1&&(e===-1||l<e)}var{env:i}=L.default,E;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?E=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(E=1);function q(){if("FORCE_COLOR"in i)return i.FORCE_COLOR==="true"?1:i.FORCE_COLOR==="false"?0:i.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(i.FORCE_COLOR,10),3)}function z(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function J(r,{streamIsTTY:t,sniffFlags:o=!0}={}){let l=q();l!==void 0&&(E=l);let e=o?E:l;if(e===0)return 0;if(o){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(r&&!t&&e===void 0)return 0;let n=e||0;if(i.TERM==="dumb")return n;if(L.default.platform==="win32"){let s=F.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in i)return"GITHUB_ACTIONS"in i||"GITEA_ACTIONS"in i?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in i)||i.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let s=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:n}function N(r,t={}){let o=J(r,{streamIsTTY:r&&r.isTTY,...t});return z(o)}var Q={stdout:N({isTTY:y.default.isatty(1)}),stderr:N({isTTY:y.default.isatty(2)})},M=Q;var b=M.stdout?M.stdout.level:0,X=/^\s*at\s.*:\d+:\d+[\s)]*$/,Z=/^\s*at\s.*\(<anonymous>\)$/,$=r=>X.test(r)||Z.test(r);var g=(r,t,o=r)=>b>=2?l=>{let e=""+l,n=e.indexOf(t,r.length);return~n?r+G(e,t,o,n)+t:r+e+t}:String,G=(r,t,o,l)=>{let e=r.substring(0,l)+o,n=r.substring(l+t.length),s=n.indexOf(t);return~s?e+G(n,t,o,s):e+n},x=g("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),w=g("\x1B[31m","\x1B[39m"),v=g("\x1B[32m","\x1B[39m"),P=g("\x1B[33m","\x1B[39m"),Y=g("\x1B[35m","\x1B[39m"),d=g("\x1B[36m","\x1B[39m"),h=g("\x1B[90m","\x1B[39m");var _=[189,255,243],I=[74,194,154],k=r=>!/[\s\n]/.test(r),V=r=>{if(b<3)return b===2?x(d(r)):r;let t=[...r],o=t.filter(k).length,l=_[0],e=_[1],n=_[2],s=(I[0]-l)/o,p=(I[1]-e)/o,f=(I[2]-n)/o,a="";for(let u of t)k(u)&&(l+=s,e+=p,n+=f),a+=`\x1B[38;2;${Math.round(l)};${Math.round(e)};${Math.round(n)}m${u}\x1B[39m`;return x(a)};var S={error:0,warn:1,info:2,log:3,verbose:4},T={error:{label:"error",level:"error",color:w},warn:{label:"warn",level:"warn",color:P},info:{label:"info",level:"info",color:d},start:{label:"start",level:"info",color:d},ready:{label:"ready",level:"info",color:v},success:{label:"success",level:"info",color:v},log:{level:"log"},debug:{label:"debug",level:"verbose",color:Y}};var R=(r={})=>{let t=r.level||"log",o=(e,n,...s)=>{if(S[T[e].level]>S[t])return;if(n==null)return console.log();let p=T[e],f="",a="";if("label"in p&&(f=(p.label||"").padEnd(7),f=x(p.color?p.color(f):f)),n instanceof Error)if(n.stack){let[u,...m]=n.stack.split(`
|
|
2
|
+
`);u.startsWith("Error: ")&&(u=u.slice(7)),a=`${u}
|
|
3
3
|
${h(m.join(`
|
|
4
|
-
`))}`}else a=n.message;else
|
|
4
|
+
`))}`}else a=n.message;else p.level==="error"&&typeof n=="string"?a=n.split(`
|
|
5
5
|
`).map(m=>$(m)?h(m):m).join(`
|
|
6
|
-
`):a=`${n}`;console.log(f.length?`${f} ${a}`:a,...s)},
|
|
6
|
+
`):a=`${n}`;console.log(f.length?`${f} ${a}`:a,...s)},l={greet:e=>o("log",V(e))};return Object.keys(T).forEach(e=>{l[e]=(...n)=>o(e,...n)}),Object.defineProperty(l,"level",{get:()=>t,set(e){t=e}}),l.override=e=>{Object.assign(l,e)},l};var rr=R();0&&(module.exports={createLogger,logger});
|
package/dist/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ declare let LOG_TYPES: {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
type LogLevel = 'error' | 'warn' | 'info' | 'log' | 'verbose';
|
|
45
|
-
type LogMessage = number | string |
|
|
45
|
+
type LogMessage = number | string | Error | null;
|
|
46
46
|
interface LogType {
|
|
47
47
|
label?: string;
|
|
48
48
|
level: LogLevel;
|
|
@@ -56,6 +56,7 @@ type LogMethods = keyof typeof LOG_TYPES;
|
|
|
56
56
|
type Logger = Record<LogMethods, LogFunction> & {
|
|
57
57
|
greet: (message: string) => void;
|
|
58
58
|
level: LogLevel;
|
|
59
|
+
override: (customLogger: Partial<Record<LogMethods, LogFunction>>) => void;
|
|
59
60
|
};
|
|
60
61
|
|
|
61
62
|
declare let createLogger: (options?: Options) => Logger;
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import R from"process";import P from"os";import M from"tty";function c(r,l=globalThis.Deno?globalThis.Deno.args:R.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",n=l.indexOf(i+r),e=l.indexOf("--");return n!==-1&&(e===-1||n<e)}var{env:o}=R,
|
|
2
|
-
`);
|
|
3
|
-
${L(
|
|
4
|
-
`))}`}else a=t.message;else
|
|
5
|
-
`).map(
|
|
6
|
-
`):a=`${t}`;console.log(f.length?`${f} ${a}`:a,...s)},n={greet:e=>i("log",F(e))};return Object.keys(O).forEach(e=>{n[e]=(...t)=>i(e,...t)}),Object.defineProperty(n,"level",{get:()=>l,set(e){l=e}}),n};var ar=
|
|
1
|
+
import R from"process";import P from"os";import M from"tty";function c(r,l=globalThis.Deno?globalThis.Deno.args:R.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",n=l.indexOf(i+r),e=l.indexOf("--");return n!==-1&&(e===-1||n<e)}var{env:o}=R,E;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?E=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(E=1);function Y(){if("FORCE_COLOR"in o)return o.FORCE_COLOR==="true"?1:o.FORCE_COLOR==="false"?0:o.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(o.FORCE_COLOR,10),3)}function k(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function V(r,{streamIsTTY:l,sniffFlags:i=!0}={}){let n=Y();n!==void 0&&(E=n);let e=i?E:n;if(e===0)return 0;if(i){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in o&&"AGENT_NAME"in o)return 1;if(r&&!l&&e===void 0)return 0;let t=e||0;if(o.TERM==="dumb")return t;if(R.platform==="win32"){let s=P.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in o)return"GITHUB_ACTIONS"in o||"GITEA_ACTIONS"in o?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in o)||o.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if(o.COLORTERM==="truecolor"||o.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in o){let s=Number.parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:t}function y(r,l={}){let i=V(r,{streamIsTTY:r&&r.isTTY,...l});return k(i)}var j={stdout:y({isTTY:M.isatty(1)}),stderr:y({isTTY:M.isatty(2)})},T=j;var x=T.stdout?T.stdout.level:0,B=/^\s*at\s.*:\d+:\d+[\s)]*$/,D=/^\s*at\s.*\(<anonymous>\)$/,S=r=>B.test(r)||D.test(r);var m=(r,l,i=r)=>x>=2?n=>{let e=""+n,t=e.indexOf(l,r.length);return~t?r+A(e,l,i,t)+l:r+e+l}:String,A=(r,l,i,n)=>{let e=r.substring(0,n)+i,t=r.substring(n+l.length),s=t.indexOf(l);return~s?e+A(t,l,i,s):e+t},d=m("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),N=m("\x1B[31m","\x1B[39m"),C=m("\x1B[32m","\x1B[39m"),$=m("\x1B[33m","\x1B[39m"),G=m("\x1B[35m","\x1B[39m"),g=m("\x1B[36m","\x1B[39m"),L=m("\x1B[90m","\x1B[39m");var v=[189,255,243],h=[74,194,154],w=r=>!/[\s\n]/.test(r),F=r=>{if(x<3)return x===2?d(g(r)):r;let l=[...r],i=l.filter(w).length,n=v[0],e=v[1],t=v[2],s=(h[0]-n)/i,p=(h[1]-e)/i,f=(h[2]-t)/i,a="";for(let u of l)w(u)&&(n+=s,e+=p,t+=f),a+=`\x1B[38;2;${Math.round(n)};${Math.round(e)};${Math.round(t)}m${u}\x1B[39m`;return d(a)};var I={error:0,warn:1,info:2,log:3,verbose:4},O={error:{label:"error",level:"error",color:N},warn:{label:"warn",level:"warn",color:$},info:{label:"info",level:"info",color:g},start:{label:"start",level:"info",color:g},ready:{label:"ready",level:"info",color:C},success:{label:"success",level:"info",color:C},log:{level:"log"},debug:{label:"debug",level:"verbose",color:G}};var _=(r={})=>{let l=r.level||"log",i=(e,t,...s)=>{if(I[O[e].level]>I[l])return;if(t==null)return console.log();let p=O[e],f="",a="";if("label"in p&&(f=(p.label||"").padEnd(7),f=d(p.color?p.color(f):f)),t instanceof Error)if(t.stack){let[u,...b]=t.stack.split(`
|
|
2
|
+
`);u.startsWith("Error: ")&&(u=u.slice(7)),a=`${u}
|
|
3
|
+
${L(b.join(`
|
|
4
|
+
`))}`}else a=t.message;else p.level==="error"&&typeof t=="string"?a=t.split(`
|
|
5
|
+
`).map(b=>S(b)?L(b):b).join(`
|
|
6
|
+
`):a=`${t}`;console.log(f.length?`${f} ${a}`:a,...s)},n={greet:e=>i("log",F(e))};return Object.keys(O).forEach(e=>{n[e]=(...t)=>i(e,...t)}),Object.defineProperty(n,"level",{get:()=>l,set(e){l=e}}),n.override=e=>{Object.assign(n,e)},n};var ar=_();export{_ as createLogger,ar as logger};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rslog",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-beta.0",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -14,6 +14,17 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"prepare": "modern build",
|
|
19
|
+
"preview": "bun run ./preview.ts",
|
|
20
|
+
"dev": "modern dev",
|
|
21
|
+
"build": "modern build",
|
|
22
|
+
"build:watch": "modern build -w",
|
|
23
|
+
"reset": "rimraf ./**/node_modules",
|
|
24
|
+
"new": "modern new",
|
|
25
|
+
"upgrade": "modern upgrade",
|
|
26
|
+
"test": "modern test"
|
|
27
|
+
},
|
|
17
28
|
"engines": {
|
|
18
29
|
"node": ">=14.17.6"
|
|
19
30
|
},
|
|
@@ -36,15 +47,5 @@
|
|
|
36
47
|
"publishConfig": {
|
|
37
48
|
"access": "public",
|
|
38
49
|
"registry": "https://registry.npmjs.org/"
|
|
39
|
-
},
|
|
40
|
-
"scripts": {
|
|
41
|
-
"preview": "node ./preview.mjs",
|
|
42
|
-
"dev": "modern dev",
|
|
43
|
-
"build": "modern build",
|
|
44
|
-
"build:watch": "modern build -w",
|
|
45
|
-
"reset": "rimraf ./**/node_modules",
|
|
46
|
-
"new": "modern new",
|
|
47
|
-
"upgrade": "modern upgrade",
|
|
48
|
-
"test": "modern test"
|
|
49
50
|
}
|
|
50
51
|
}
|