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