@lsk4/log
Version:
Yet another logger whitch combines the best features of debug, bunyan, logfmt/logrus, morgan/winston
9 lines (7 loc) • 2.94 kB
JavaScript
import { isError, getCode, getMessage } from '@lsk4/err';
import K from 'fast-safe-stringify';
import { tryJSONparse } from '@lsk4/env';
var H=Object.defineProperty;var e=(r,t)=>H(r,"name",{value:t,configurable:!0});var n;(function(r){r.bunyan="bunyan",r.lsklog="lsklog",r.lsklogweb="lsklogweb",r.logrus="logrus",r.raw="raw";})(n||(n={}));var x=K.default;var i=e((r,t=null,o=0)=>typeof r=="object"?x(r,t,o):String(r),"toString");var y=e(r=>r.map(t=>isError(t)?getCode(t):null).filter(Boolean)[0],"getErrCode"),v=e(r=>r.length?r.map(t=>isError(t)?getMessage(t):i(t)).join(" "):null,"createMsg");var g=e((r,t)=>{let o=[];return r!==null&&o.push(tryJSONparse(r)),Object.keys(t).length&&o.push(t),o},"parseArgs");var U={10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"},V={log:10,trace:10,debug:20,info:30,warn:40,error:50,fatal:60},w=e(r=>!!(r.name&&r.hostname&&r.pid&&r.msg&&r.time),"isBunyan"),h=e(r=>{let{level:t,time:o,msg:s,hostname:u,pid:m,v:p,...f}=r;return {format:n.bunyan,meta:{level:U[t],time:new Date(o)},args:g(s,f)}},"parseBunyan"),B=e(r=>{let{level:t,time:o,...s}=r;return i({level:V[t],time:o.toISOString(),...s})},"stringifyBunyan");var X=["trace","debug","info","warning","error","fatal","panic"],Y={trace:"trace",debug:"debug",info:"info",warning:"warn",error:"error",fatal:"fatal",panic:"fatal"},Z={log:"trace",trace:"trace",debug:"debug",info:"info",warn:"warning",error:"error",fatal:"fatal"},c=e(r=>!!(r.msg&&X.includes(r.level)),"isLogrus"),S=e(r=>{let{level:t,time:o,msg:s,...u}=r;return {format:n.logrus,meta:{level:Y[t],time:new Date(o)},args:g(s,u)}},"parseLogrus"),I=e(r=>{let{level:t,time:o,...s}=r;return i({level:Z[t],time:o.toISOString(),...s})},"stringifyLogrus");var A=["trace","debug","info","warn","error","fatal"];var M=e(r=>!!(A.includes(r.level)&&r.ns),"isLsklog"),d=e(r=>!!A.includes(r.level),"isLskLikelog"),k=e(r=>!!(r&&(r.name==="req"||r.method&&r.host&&r.url)),"isLsklogWeb");var L=e(r=>{let{level:t,time:o,msg:s,ns:u,name:m,...p}=r,f={level:t,time:o,msg:s,ns:u,name:m};if(!k(r))return {format:n.lsklogweb,meta:f,args:g(s,p)};let{reqId:T,method:W,host:C,ua:E,ip:F,url:D,status:J,length:N,duration:z,...G}=p;return {format:n.lsklog,meta:{...f,method:W,host:C,reqId:T,ua:E,ip:F,url:D,status:J,duration:z,length:N},args:g(s,G)}},"parseLsklog"),O=e(r=>{let{level:t,time:o,...s}=r;return i({level:t,time:+o,...s})},"stringifyLsklog");function _(r){return w(r)?n.bunyan:M(r)?n.lsklog:k(r)?n.lsklogweb:c(r)&&d(r)&&r?.name?n.lsklog:c(r)?n.logrus:d(r)?n.lsklog:null}e(_,"detectFormat");function Gr(r,t,...o){let s=y(o),u=v(o),m={code:s,...t,msg:u};return r==="bunyan"?B(m):r==="logrus"?I(m):O(m)}e(Gr,"stringify");function Hr(r){let t=_(r);return t==="bunyan"?h(r):t==="lsklogweb"?L(r):t==="lsklog"?L(r):t==="logrus"?S(r):{format:t,meta:{},args:[r]}}e(Hr,"parse");
export { _ as detectFormat, Hr as parse, Gr as stringify };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map