{"_id":"@abernatskiy/logger","_rev":"4-8d51c8cfab0f80985eea329ddf3b101b","name":"@abernatskiy/logger","dist-tags":{"latest":"9.0.0"},"versions":{"5.0.0":{"name":"@abernatskiy/logger","version":"5.0.0","license":"GPL-3.0-or-later","_id":"@abernatskiy/logger@5.0.0","maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"homepage":"https://github.com/subsquid/squid#readme","bugs":{"url":"https://github.com/subsquid/squid/issues"},"dist":{"shasum":"52a2189f512c0419ea6aaa40103351811d710160","tarball":"https://registry.npmjs.org/@abernatskiy/logger/-/logger-5.0.0.tgz","fileCount":37,"integrity":"sha512-F9AG2wS8MZfR37Ds/IfvnzKiq10Yj4hVVuZTDSBhepl22sQ4grzMfVc8bGTgTMfwUjCvsyRAqZIvG+dHhwlKzA==","signatures":[{"sig":"MEQCIAaVJfAUI7eyJfifIIP07QJL4SPG0S0mIdEfWAh//W3+AiABryHUDwH4B6A++Bh6j04UIr10G2TjDjzvwf4qHxX+tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63582},"main":"lib/index.js","types":"./lib/index.d.ts","gitHead":"87a8b2d0a831cacb0c1205c323e7394089c3c539","scripts":{"test":"mocha lib/**/*.test.js","build":"rm -rf lib && tsc"},"_npmUser":{"name":"abernatskiy","email":"abernatskiy@toha.li"},"repository":{"url":"git+ssh://git@github.com/subsquid/squid.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight library for structured logging","directories":{},"_nodeVersion":"22.12.0","dependencies":{"supports-color":"^8.1.1","@abernatskiy/util-internal-hex":"^1.2.2","@abernatskiy/util-internal-json":"^1.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.7.0","expect":"^29.7.0","typescript":"~5.5.4","@types/node":"^18.18.14","@types/mocha":"^10.0.7","@types/supports-color":"^8.1.3"},"_npmOperationalInternal":{"tmp":"tmp/logger_5.0.0_1738094808522_0.2378092995962824","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@abernatskiy/logger","version":"6.0.0","license":"GPL-3.0-or-later","_id":"@abernatskiy/logger@6.0.0","maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"homepage":"https://github.com/subsquid/squid#readme","bugs":{"url":"https://github.com/subsquid/squid/issues"},"dist":{"shasum":"cc0a5963df7ae308ba06ee45b72b27cbc19b73af","tarball":"https://registry.npmjs.org/@abernatskiy/logger/-/logger-6.0.0.tgz","fileCount":37,"integrity":"sha512-uOppNqE0+eFLqvyDaMD3/DnDoCsqqAxo76Jfa0HCA1UORRuvHqONyeaJtXgP4Z4Zv6KhyL1Cce/97xbFJc9fpw==","signatures":[{"sig":"MEQCIA166LYxxFW/xpeWorWK39yycCknAESH24Q5qUD2q/cOAiBr9ALJ7sFrrZtAs4O+KR5AH39eqIH0QTwtOYODHTcChA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63576},"main":"lib/index.js","types":"./lib/index.d.ts","gitHead":"87a8b2d0a831cacb0c1205c323e7394089c3c539","scripts":{"test":"mocha lib/**/*.test.js","build":"rm -rf lib && tsc"},"_npmUser":{"name":"abernatskiy","email":"abernatskiy@toha.li"},"repository":{"url":"git+ssh://git@github.com/subsquid/squid.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight library for structured logging","directories":{},"_nodeVersion":"22.12.0","dependencies":{"supports-color":"^8.1.1","@subsquid/util-internal-hex":"^1.2.2","@subsquid/util-internal-json":"^1.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.7.0","expect":"^29.7.0","typescript":"~5.5.4","@types/node":"^18.18.14","@types/mocha":"^10.0.7","@types/supports-color":"^8.1.3"},"_npmOperationalInternal":{"tmp":"tmp/logger_6.0.0_1738095349041_0.6462014050905953","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@abernatskiy/logger","version":"7.0.0","license":"GPL-3.0-or-later","_id":"@abernatskiy/logger@7.0.0","maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"homepage":"https://github.com/subsquid/squid#readme","bugs":{"url":"https://github.com/subsquid/squid/issues"},"dist":{"shasum":"6fa497b26373863eb31a124262dcab1a35f877fe","tarball":"https://registry.npmjs.org/@abernatskiy/logger/-/logger-7.0.0.tgz","fileCount":37,"integrity":"sha512-WH1sBj66idbAVxifZTfEJ4kp212zcO8+G+mskuCYahp5rwV86i9gvd6bAHculrV/X4vyHuRnhsWfaifyLqyPyg==","signatures":[{"sig":"MEUCIQDh0qKBk9kNhTqf8WXdHnuLjmQ8abzCwg6md2zxkpeJXAIgBt9jzhpPRPgWFhvMhNnEpvdYiwtpy7litWIIRWqJnCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63582},"main":"lib/index.js","types":"./lib/index.d.ts","gitHead":"87a8b2d0a831cacb0c1205c323e7394089c3c539","scripts":{"test":"mocha lib/**/*.test.js","build":"rm -rf lib && tsc"},"_npmUser":{"name":"abernatskiy","email":"abernatskiy@toha.li"},"repository":{"url":"git+ssh://git@github.com/subsquid/squid.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight library for structured logging","directories":{},"_nodeVersion":"22.12.0","dependencies":{"supports-color":"^8.1.1","@abernatskiy/util-internal-hex":"^7.0.0","@abernatskiy/util-internal-json":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.7.0","expect":"^29.7.0","typescript":"~5.5.4","@types/node":"^18.18.14","@types/mocha":"^10.0.7","@types/supports-color":"^8.1.3"},"_npmOperationalInternal":{"tmp":"tmp/logger_7.0.0_1738095599081_0.22378093845092462","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@abernatskiy/logger","version":"8.0.0","license":"GPL-3.0-or-later","_id":"@abernatskiy/logger@8.0.0","maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"homepage":"https://github.com/subsquid/squid#readme","bugs":{"url":"https://github.com/subsquid/squid/issues"},"dist":{"shasum":"b877dc98e0845b277eb3cb5dfac2030588144009","tarball":"https://registry.npmjs.org/@abernatskiy/logger/-/logger-8.0.0.tgz","fileCount":9,"integrity":"sha512-hSMNf+An2ip3EdrqM4ypkUi3VxyiPV+7uPZW+C6uDYyIa2PGj1wDEbP6E2S7Psf493sCkASg9onXYqL66XQ2bQ==","signatures":[{"sig":"MEQCIFVLVNTW9ToJ3xVf5nSebYWi9HBtetIi2FNqwfn0f/85AiAYaXWRw9FSBZ39DOM2rwdM+ol6lYLPMcbMhz0YK10ybg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21426},"main":"lib/index.js","gitHead":"87a8b2d0a831cacb0c1205c323e7394089c3c539","scripts":{"test":"mocha lib/**/*.test.js","build":"rm -rf lib && tsc"},"_npmUser":{"name":"abernatskiy","email":"abernatskiy@toha.li"},"repository":{"url":"git+ssh://git@github.com/subsquid/squid.git","type":"git"},"_npmVersion":"10.9.0","description":"Lightweight library for structured logging","directories":{},"_nodeVersion":"22.12.0","dependencies":{"supports-color":"^8.1.1","@abernatskiy/util-internal-hex":"^8.0.0","@abernatskiy/util-internal-json":"^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.7.0","expect":"^29.7.0","typescript":"~5.5.4","@types/node":"^18.18.14","@types/mocha":"^10.0.7","@types/supports-color":"^8.1.3"},"_npmOperationalInternal":{"tmp":"tmp/logger_8.0.0_1738096556923_0.9317763704654416","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@abernatskiy/logger","version":"9.0.0","description":"Lightweight library for structured logging","license":"GPL-3.0-or-later","repository":{"type":"git","url":"git+ssh://git@github.com/subsquid/squid.git"},"publishConfig":{"access":"public"},"main":"lib/index.js","scripts":{"build":"rm -rf lib && tsc","test":"mocha lib/**/*.test.js"},"dependencies":{"@abernatskiy/util-internal-hex":"^9.0.0","@abernatskiy/util-internal-json":"^9.0.0","supports-color":"^8.1.1"},"devDependencies":{"@types/mocha":"^10.0.7","@types/node":"^18.18.14","@types/supports-color":"^8.1.3","expect":"^29.7.0","mocha":"^10.7.0","typescript":"~5.5.4"},"_id":"@abernatskiy/logger@9.0.0","gitHead":"87a8b2d0a831cacb0c1205c323e7394089c3c539","types":"./lib/index.d.ts","bugs":{"url":"https://github.com/subsquid/squid/issues"},"homepage":"https://github.com/subsquid/squid#readme","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-0LV05EPojj/w7hOQXKWYvQqTFZfZFgvUbIWloSe4n/8YXcTjkwTISIzWTfdK7PYTOsfAPCpiTIDfeCnQTZdnZA==","shasum":"638064fd726ee002d4bf305c85bd62b83abe593a","tarball":"https://registry.npmjs.org/@abernatskiy/logger/-/logger-9.0.0.tgz","fileCount":37,"unpackedSize":63606,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDdPUcKcLWYTZobUJMyjmEEWkVT6PcxlzpUCD+lnhPU7QIhAK/9Q3z066/qchSBKHP3Vpy18gcmj8pHdnrOl0r9Ea2G"}]},"_npmUser":{"name":"abernatskiy","email":"abernatskiy@toha.li"},"directories":{},"maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/logger_9.0.0_1738096933632_0.8112485483764802"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-28T20:06:48.414Z","modified":"2025-01-28T20:42:13.975Z","5.0.0":"2025-01-28T20:06:48.690Z","6.0.0":"2025-01-28T20:15:49.218Z","7.0.0":"2025-01-28T20:19:59.315Z","8.0.0":"2025-01-28T20:35:57.116Z","9.0.0":"2025-01-28T20:42:13.823Z"},"bugs":{"url":"https://github.com/subsquid/squid/issues"},"license":"GPL-3.0-or-later","homepage":"https://github.com/subsquid/squid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/subsquid/squid.git"},"description":"Lightweight library for structured logging","maintainers":[{"name":"abernatskiy","email":"abernatskiy@toha.li"}],"readme":"# @subsquid/logger\n\nLightweight structured logger for squid framework.\n\n## Usage\n\n```typescript\nimport {createLogger} from \"@subsquid/logger\"\n\nconst log = createLogger('sqd:demo')\n\nlog.info('message with severity info')\nlog.debug('message with severity debug')\n\nlog.info({foo: 1, bar: 2}, 'message and some additional attributes')\n\n// info message consisting only of attributes\nlog.info({a: 1, b: 2, c: 3, array: [4, 5], obj: {foo: 'foo', bar: \"bar\"}}) \n\n// pass an Error object inplace of attributes\nlog.warn(new Error('Some error occurred'))\n\n// Error together with some other attributes and message\nlog.error({err: new Error('Another error'), a: 1, b: 2}, 'weird')\n\n// create a child logger instance with namespace `sqd:demo:sql` \n// and `req: 1` attribute attached to every log record\nconst sqlLog = log.child('sql', {req: 1})\nsqlLog.debug('connecting to database')\nsqlLog.debug({sql: 'SELECT max(id) FROM status'})\n```\n\n## Configuration\n\nThere are 6 log levels available: `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`.\n\nThe log level of each logger instance is solely determined by its namespace and specified\nvia set of `SQD_TRACE`, ..., `SQD_FATAL` environment variables.\nThe default log level is `INFO`. \n\nUsers override the default log level by setting in appropriate \nenvironment variable a pattern which matches the logger's namespace.\n\n* `SQD_DEBUG=*` - sets the log level to `DEBUG` for all loggers.\n* `SQD_DEBUG=foo` - loggers `foo`, `foo:bar`, `foo:a:b`, etc will have a `DEBUG` level.\n* `SQD_DEBUG=a:b*:c,d` - loggers `a:b:c`, `a:baz:c`, `a:baz:c:foo`, `d`, etc will have a `DEBUG` level, logger `a:z:c` will not.\n\nWhen logger is matched by multiple `SQD_*` variables, the match with the highest specificity wins.\nWhen specificities are equal, the most verbose matched log level will be effective.\n\nSpecificity is computed as a number of namespace characters \nwhich are not matched by wildcards and which are not part of a child namespace.\nFor example, given a pattern `foo*bar`, the specificity of `foo:bar:baz:qux`, `foobar` and `foobazbar` is `6`.\n\n## Output\n\nThe logger always writes to `stderr`. \n\nWhen `stderr` is connected to a terminal, log records will be pretty printed.\n\n![Pretty printed log records](img.png)\n\nOtherwise, log records will be written as JSON lines.\n\n```\n{\"level\":2,\"time\":1669387525765,\"ns\":\"sqd:demo\",\"msg\":\"message with severity info\"}\n{\"level\":2,\"time\":1669387525766,\"ns\":\"sqd:demo\",\"msg\":\"message and some additional attributes\",\"foo\":1,\"bar\":2}\n{\"level\":2,\"time\":1669387525766,\"ns\":\"sqd:demo\",\"a\":1,\"b\":2,\"c\":3,\"array\":[4,5,6],\"obj\":{\"foo\":\"foo\",\"bar\":\"bar\"}}\n{\"level\":3,\"time\":1669387525766,\"ns\":\"sqd:demo\",\"err\":{\"stack\":\"Error: Some error occured\\n    at Object.<anonymous> (/Users/eldar/dev/squid/util/logger/lib/demo.js:11:10)\\n    at Module._compile (node:internal/modules/cjs/loader:1159:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)\\n    at Module.load (node:internal/modules/cjs/loader:1037:32)\\n    at Module._load (node:internal/modules/cjs/loader:878:12)\\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\\n    at node:internal/main/run_main_module:23:47\"}}\n{\"level\":4,\"time\":1669387525766,\"ns\":\"sqd:demo\",\"msg\":\"weird\",\"err\":{\"stack\":\"Error: Another error\\n    at Object.<anonymous> (/Users/eldar/dev/squid/util/logger/lib/demo.js:13:18)\\n    at Module._compile (node:internal/modules/cjs/loader:1159:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)\\n    at Module.load (node:internal/modules/cjs/loader:1037:32)\\n    at Module._load (node:internal/modules/cjs/loader:878:12)\\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\\n    at node:internal/main/run_main_module:23:47\"},\"a\":1,\"b\":2}\n```\n","readmeFilename":"README.md"}