UNPKG

@lsk4/log

Version:

Yet another logger whitch combines the best features of debug, bunyan, logfmt/logrus, morgan/winston

33 lines (28 loc) 4.74 kB
'use strict'; var colors = require('@lsk4/colors'); var env = require('@lsk4/env'); var err = require('@lsk4/err'); var P = require('pretty-bytes'); var I = require('pretty-time'); var W = require('fast-safe-stringify'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var P__default = /*#__PURE__*/_interopDefault(P); var I__default = /*#__PURE__*/_interopDefault(I); var W__default = /*#__PURE__*/_interopDefault(W); var B=Object.defineProperty;var r=(t,o)=>B(t,"name",{value:o,configurable:!0});var S={fatal:["bgRed"],error:["bold","bgRed"],warn:["bgYellow"],debug:["bold","cyan"],info:["bold","green"],trace:["gray"],log:["bgWhite"]},v={fatal:["bold","red"],error:["red"],warn:["yellow"],debug:["cyan"],info:["green"],trace:["gray"],log:["bgWhite"]},g=[["red"],["green"],["yellow"],["blue"],["magenta"],["cyan"],["bold","red"],["bold","green"],["bold","yellow"],["bold","blue"],["bold","magenta"],["bold","cyan"]],f=[["bold","white"],["bold","cyan"],["bold","green"],["white"]];function L(){let t=typeof process<"u"?process:{};return t?.platform!=="win32"?t?.env?.TERM!=="linux":!!t?.env?.WT_SESSION||!!t?.env?.TERMINUS_SUBLIME||t?.env?.ConEmuTask==="{cmd::Cmder}"||t?.env?.TERM_PROGRAM==="Terminus-Sublime"||t?.env?.TERM_PROGRAM==="vscode"||t?.env?.TERM==="xterm-256color"||t?.env?.TERM==="alacritty"||t?.env?.TERMINAL_EMULATOR==="JetBrains-JediTerm"}r(L,"isUnicodeSupported");var p=L();var u=p?"\u2139":"\xD7",k=p?"\u26A0":"\xD7",E=p?"\u2718":"\xD7";var R=p?"\u2573":"\xD7";var d=r(t=>typeof t=="number"?t:Math.abs(String(t).split("").reduce((o,e)=>{let n=(o<<5)-o+e.charCodeAt(0);return n&n},0)-48),"hashCode"),C=d;function h(t,o){let e=g[C(o||"")%g.length]||[];return colors.colorize(t,e)}r(h,"themeizeRandom");function M(t,o){let e=o?S[o]:[];return colors.colorize(t,e)}r(M,"themeize");function l(t,o){let e=o?v[o]:[];return colors.colorize(t,e)}r(l,"themeizeLight");var b;(function(t){t.bunyan="bunyan",t.lsklog="lsklog",t.lsklogweb="lsklogweb",t.logrus="logrus",t.raw="raw";})(b||(b={}));W__default.default.default;var O=r(t=>!!(t&&(t.name==="req"||t.method&&t.host&&t.url)),"isLsklogWeb"),y=r(t=>!!(O(t)&&(t.status||t.duration||t.length)),"isLsklogWebFinal");var T=env.getEnvVar("LOG_VIEW","emoji"),c=r((t,o)=>String(t).padStart(o),"leftPad"),$=r((t,o)=>String(t).padEnd(o),"rightPad"),w=20,j=r((t,o=0)=>(w=Math.max(t&&t.length||0,w,o),$(t,w)),"prettyPath"),z=r(t=>t>=500?"error":t>=400?"warn":t>=300?"debug":null,"getStatusLevel"),F=r(t=>{let o=z(t);return o||(o=t!==200?"log":null),l(c(String(t),3),o)},"prettyStatus"),G=r(t=>c(`#${t}`,3),"prettyReqId"),V=r(t=>{let o=t==="REMOVE"?"error":t==="WS"?"debug":null;return l(c(t,4),o)},"prettyMethod"),J=r((t,o="")=>{if(!Number.isFinite(t))return null;let e=t>=10*1e3?"error":t>=3*1e3?"warn":null,i=["m","s","ms"].includes(o)?o:"",a=Math.floor(Math.abs(t)*10**6),m=I__default.default(a,i);return l(c(m,5),e)},"prettyTime"),D=r((t,o="")=>{if(!Number.isFinite(t))return null;let e=P__default.default(t,{maximumFractionDigits:1}).split(" "),n=e[1].toLowerCase(),i=+e[0]>=100?Math.round(+e[0]):+e[0],a=t>1*1e3*1e3?"error":t>5*1e3?"warn":null,m=a?l(n,a):n;return `${i}${o}${m}`},"prettySize"),Yt=r((t,o)=>[...t,o].filter(Boolean).map(String).map(n=>h(n,n)).join(":"),"prettyNs");function Ht(t){let o=["\u25CB","\u2022","\u2660","\u2660","\u2666","\u2665","\u263C","\u2642","\u2640","\u266A","\xA7"],e=o[d(t)%o.length];return h(e,String(t))}r(Ht,"prettyMarker");var Y=r((t,o=!0)=>{let e;return T==="emoji"?(e={fatal:R,error:E,warn:k,info:u,debug:u,trace:u}[t]||" ",(o?" ":"")+l(e,t)):(T==="short"?(e=(t[0]||"").toLowerCase(),e=`[${e}]`):(e=c(t,5),e=`[${e}]`),M(e,t))},"prettyLevel"),H=/\[[^"\]]+]/gm,Qt=r((...t)=>{let o=[];return t.forEach(e=>{if(typeof e=="string"){let n=0;o.push(e.replace(H,i=>colors.colorize(i,f[n++%f.length])));}else o.push(e);}),o},"prettyContent"),Q=r(t=>{if(!t)return null;let o=typeof t=="string"?t:err.Err.getCode(t);return o==="err_unknown"?null:o.substr(0,20)},"prettyErr"),X=r(t=>{let o=z(t.status);return o||(y(t)?"debug":"trace")},"getUrlLevel"),Xt=r(t=>{let o=y(t),e=X(t);return [Y(e),V(t.method),j(t.url),G(t.reqId),o&&t.method!=="WS"?F(t.status):null,!o&&"\u29D7\u29D6\u29D7",o&&J(t.duration),o&&t.method!=="WS"?D(t.length):null,o&&t.err?Q(t.err):null].filter(Boolean).join(" ")},"prettyUrl"); exports.getStatusLevel = z; exports.getUrlLevel = X; exports.prettyContent = Qt; exports.prettyErr = Q; exports.prettyLevel = Y; exports.prettyMarker = Ht; exports.prettyMethod = V; exports.prettyNs = Yt; exports.prettyPath = j; exports.prettyReqId = G; exports.prettySize = D; exports.prettyStatus = F; exports.prettyTime = J; exports.prettyUrl = Xt; //# sourceMappingURL=out.js.map //# sourceMappingURL=utils.js.map