@cto.af/log 1.1.2 → 1.3.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/lib/index.d.ts CHANGED
@@ -46,5 +46,13 @@ declare function createLog(opts?: LogOptions, bindings?: pino.Bindings): Logger;
46
46
  * @returns Singleton logging object.
47
47
  */
48
48
  declare function getLog(opts?: LogOptions, bindings?: pino.Bindings): Logger;
49
+ /**
50
+ * Get a child logger with the given bindings.
51
+ *
52
+ * @param opts Log options.
53
+ * @param bindings Name/value pairs to add to each log line.
54
+ * @returns Initialized logger instance.
55
+ */
56
+ declare function childLogger(opts?: LogOptions, bindings?: pino.Bindings): Logger;
49
57
 
50
- export { type CtoLogOptions, DEFAULT_LOG_OPTIONS, LOG_OPTIONS_NAMES, type LogOptions, type Logger, createLog, getLog };
58
+ export { type CtoLogOptions, DEFAULT_LOG_OPTIONS, LOG_OPTIONS_NAMES, type LogOptions, type Logger, childLogger, createLog, getLog };
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import{assertDisjoint as d,nameSet as L,select as c}from"@cto.af/utils";import{Writable as O}from"stream";import r from"pino";import a from"pino-pretty";var m={log:null,logFile:null,logLevel:0,mute:!1,prettyIgnore:"pid,hostname,name,host,port",sync:!1},u=L(m),f=new Set(["base","browser","crlf","customLevels","depthLimit","edgeLimit","enabled","errorKey","formatters","hooks","level","levelComparison","levelVal","messageKey","mixin","mixinMergeStrategy","msgPrefix","name","nestedKey","onChild","redact","safe","serializers","timestamp","transport","useOnlyCustomLevels"]);d(u,f);var I=new Set([...u,...f]),g=class extends O{_write(l,e,o){o(null)}};function v(t={},l){let[e,o]=c(t,m);if(e.log)return e.log;let i=Math.round(3-e.logLevel);i<1?i=1:i>6&&(i=6),o.level=r.levels.labels[i*10];let n;if(e.mute&&!e.logFile)n=r(o,new g);else if(e.logFile){let p=r.destination({dest:e.logFile,sync:e.sync,append:!0,mkdir:!0});e.mute?n=r(o,p):n=r(o,r.multistream([{level:o.level,stream:p},{level:o.level,stream:a({ignore:e.prettyIgnore})}]))}else n=r(o,a({ignore:e.prettyIgnore}));return l&&n.setBindings(l),t.log=n,n}var s;function N(t,l={}){return t?.log?t.log:(s||(s=v(t,l)),s)}export{m as DEFAULT_LOG_OPTIONS,I as LOG_OPTIONS_NAMES,v as createLog,N as getLog};
1
+ import{assertDisjoint as c,nameSet as d,select as O}from"@cto.af/utils";import r from"pino";import L from"pino-pretty";var m={log:null,logFile:null,logLevel:0,mute:!1,prettyIgnore:"pid,hostname,name,host,port,ns",sync:!1},f=d(m),u=new Set(["base","browser","crlf","customLevels","depthLimit","edgeLimit","enabled","errorKey","formatters","hooks","level","levelComparison","levelVal","messageKey","mixin","mixinMergeStrategy","msgPrefix","name","nestedKey","onChild","redact","safe","serializers","timestamp","transport","useOnlyCustomLevels"]);c(f,u);var S=new Set([...f,...u]),p=class{write(t){}};function v(o={},t){let[e,n]=O(o,m);if(e.log)return e.log;let a=globalThis.process?.env?.CTOAF_LOG_LEVEL;if(typeof a=="string"){let s=parseInt(a,10);isNaN(s)||(e.logLevel=s)}let i=Math.round(3-e.logLevel);i<1?i=1:i>6&&(i=6),n.level=r.levels.labels[i*10];let l;if(e.mute&&!e.logFile)l=r(n,new p);else if(e.logFile){let s=r.destination({dest:e.logFile,sync:e.sync,append:!0,mkdir:!0});e.mute?l=r(n,s):l=r(n,r.multistream([{level:n.level,stream:s},{level:n.level,stream:L({ignore:e.prettyIgnore})}]))}else l=r(n,L({ignore:e.prettyIgnore}));return t&&l.setBindings(t),o.log=l,l}var g;function y(o,t={}){return o?.log?o.log:(g||(g=v(o,t)),g)}function I(o={},t={}){return y(o).child(t)}export{m as DEFAULT_LOG_OPTIONS,S as LOG_OPTIONS_NAMES,I as childLogger,v as createLog,y as getLog};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cto.af/log",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "decription": "",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -20,10 +20,10 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@cto.af/utils": "1.3.2",
23
- "pino": "9.9.0",
23
+ "pino": "9.9.5",
24
24
  "pino-pretty": "13.1.1"
25
25
  },
26
- "packageManager": "pnpm@10.15.0",
26
+ "packageManager": "pnpm@10.15.1",
27
27
  "engines": {
28
28
  "node": ">=20"
29
29
  }