{"_id":"@akivajgordon/logger","_rev":"4-84ba98ecde73be1e7b026a09e07591ff","name":"@akivajgordon/logger","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@akivajgordon/logger","version":"0.0.1","author":{"name":"Akiva Gordon","email":"akivag29@gmail.com"},"license":"ISC","_id":"@akivajgordon/logger@0.0.1","maintainers":[{"name":"akivajgordon","email":"akivag29@gmail.com"}],"dist":{"shasum":"abb943646c1fd0b3b9208af769a33f49865087cf","tarball":"https://registry.npmjs.org/@akivajgordon/logger/-/logger-0.0.1.tgz","fileCount":3,"integrity":"sha512-9j35F59XNU6x8o9pblg11j5UIchoyFK/s2k8FEEs0L0SxGvjiTCEKpYykL/+aW8+FjUN71lUynlpy2YOMUx0rA==","signatures":[{"sig":"MEUCIB+ZvHX4hXMeqRKkiD2aMT3p4/j5uLfs38E9onZtsx1+AiEAjDZCyvxIDAqGY/B8Ef26iDUjL1rejLojviK5445n0JY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4691},"main":"build/lib/index.js","gitHead":"9d694bc5b2d26ac55ffbf0b375ca771378e6ecb4","scripts":{"dev":"FORCE_COLOR=true npm-run-all --print-label --parallel watch:ts watch:dev","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node build/index.js","predev":"npm run build","watch:ts":"tsc --watch --preserveWatchOutput","start:dev":"nodemon build/index.js","watch:dev":"nodemon --watch .env --watch './build' --exec 'npm run start'","prepublish":"npm run build","preversion":"npm run build"},"_npmUser":{"name":"akivajgordon","email":"akivag29@gmail.com"},"_npmVersion":"10.5.0","directories":{},"_nodeVersion":"20.9.0","dependencies":{"chalk":"^4.1.2","dotenv":"^16.4.5"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.4","prettier":"^3.3.3","typescript":"^5.5.3","@types/node":"^20.14.11","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/logger_0.0.1_1721654689770_0.9943509368944514","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@akivajgordon/logger","version":"0.0.2","author":{"name":"Akiva Gordon","email":"akivag29@gmail.com"},"license":"ISC","_id":"@akivajgordon/logger@0.0.2","maintainers":[{"name":"akivajgordon","email":"akivag29@gmail.com"}],"dist":{"shasum":"11c26ddc477f2abec1a634cab2191fca461f84b7","tarball":"https://registry.npmjs.org/@akivajgordon/logger/-/logger-0.0.2.tgz","fileCount":4,"integrity":"sha512-6cAZMWZTg0wtU19Z7FIDCncKu0MXeBkNODPWsUluSM8+2kkd1M//SCzcOISMU/VUNp5WdhHk43vd9L5v9x04uA==","signatures":[{"sig":"MEQCIGOLIfWDySk9N38/JSyMODpopX21eKZhielEaIaBwgMrAiByUxryqk+1/Dpt80SumH5OpPx5XWM/5sz8Zto80o6Wmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4784},"main":"build/lib/index.js","types":"./build/lib/index.d.ts","gitHead":"c32e177a411d4ba67d0a82dbb970b8e1e8689e5b","scripts":{"dev":"FORCE_COLOR=true npm-run-all --print-label --parallel watch:ts watch:dev","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node build/index.js","predev":"npm run build","watch:ts":"tsc --watch --preserveWatchOutput","start:dev":"nodemon build/index.js","watch:dev":"nodemon --watch .env --watch './build' --exec 'npm run start'","prepublish":"npm run build","preversion":"npm run build"},"_npmUser":{"name":"akivajgordon","email":"akivag29@gmail.com"},"_npmVersion":"10.5.0","directories":{},"_nodeVersion":"20.9.0","dependencies":{"chalk":"^4.1.2","dotenv":"^16.4.5"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.4","prettier":"^3.3.3","typescript":"^5.5.3","@types/node":"^20.14.11","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/logger_0.0.2_1721655243462_0.4247362020267311","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@akivajgordon/logger","version":"0.0.3","author":{"name":"Akiva Gordon","email":"akivag29@gmail.com"},"license":"ISC","_id":"@akivajgordon/logger@0.0.3","maintainers":[{"name":"akivajgordon","email":"akivag29@gmail.com"}],"dist":{"shasum":"be132c409b7ae929db90790f13f88a0085240896","tarball":"https://registry.npmjs.org/@akivajgordon/logger/-/logger-0.0.3.tgz","fileCount":4,"integrity":"sha512-jTsS8HqJXotIWHatOz7MVvpGztPtujReFE5E6Ld4TOarTQgRalOfL6PO7APc3PeZelBLNmWbhJaftSj7eqZ7NQ==","signatures":[{"sig":"MEUCIQDK68w15nTyHUxvQuuXCv9PkoGInHJwehUbfAFIKG7t8wIgIvgTwIsCvECsPgIDaJirzdcvMgLlkiaCbjXOo03+viE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4971},"main":"build/lib/index.js","types":"./build/lib/index.d.ts","gitHead":"c69fd98e4b928a2764a8631f037098e0ce976f83","scripts":{"dev":"FORCE_COLOR=true npm-run-all --print-label --parallel watch:ts watch:dev","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","start":"node build/index.js","predev":"npm run build","watch:ts":"tsc --watch --preserveWatchOutput","start:dev":"nodemon build/index.js","watch:dev":"nodemon --watch .env --watch './build' --exec 'npm run start'","prepublish":"npm run build","preversion":"npm run build"},"_npmUser":{"name":"akivajgordon","email":"akivag29@gmail.com"},"_npmVersion":"10.5.0","directories":{},"_nodeVersion":"20.9.0","dependencies":{"chalk":"^4.1.2","dotenv":"^16.4.5"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.4","prettier":"^3.3.3","typescript":"^5.5.3","@types/node":"^20.14.11","npm-run-all":"^4.1.5"},"_npmOperationalInternal":{"tmp":"tmp/logger_0.0.3_1721655764101_0.2995349346173173","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@akivajgordon/logger","version":"0.0.4","type":"module","description":"## Description","main":"build/lib/index.js","exports":{".":"./build/lib/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","predev":"npm run build","dev":"FORCE_COLOR=true npm-run-all --print-label --parallel watch:ts watch:dev","watch:ts":"tsc --watch --preserveWatchOutput","watch:dev":"nodemon --watch .env --watch './build' --exec 'npm run start'","start:dev":"nodemon build/index.js","build":"tsc","start":"node build/index.js","prepublish":"npm run build","preversion":"npm run build"},"author":{"name":"Akiva Gordon","email":"akivag29@gmail.com"},"license":"ISC","devDependencies":{"@types/node":"^20.14.11","nodemon":"^3.1.4","npm-run-all":"^4.1.5","prettier":"^3.3.3","typescript":"^5.5.3"},"dependencies":{"chalk":"^4.1.2","dotenv":"^16.4.5"},"_id":"@akivajgordon/logger@0.0.4","gitHead":"aa935209a2f8908b24bfdb63dc792909e7182295","types":"./build/lib/index.d.ts","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-anAgnHz4wlIh1Hzkgz4gZTFanA09fR4ywIgSt+if/AntfsfDF6N92ZVGy3S+3AlHy+ihhDy17KMAURsE+VEMXQ==","shasum":"7c32394e0c3c5a2d5c028d3ae96756c686073cd3","tarball":"https://registry.npmjs.org/@akivajgordon/logger/-/logger-0.0.4.tgz","fileCount":5,"unpackedSize":4700,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHov5zYSf+cSXPnQuDPLhq2AGD3JjRxfPL60pq+bsh7DAiEAgRMhsjMRMnu+laJFXwXGll6Vxt8wKddl8ZKyCGmkN64="}]},"_npmUser":{"name":"akivajgordon","email":"akivag29@gmail.com"},"directories":{},"maintainers":[{"name":"akivajgordon","email":"akivag29@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/logger_0.0.4_1765864276706_0.19694464311984117"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-22T13:24:49.688Z","modified":"2025-12-16T05:51:17.070Z","0.0.1":"2024-07-22T13:24:49.911Z","0.0.2":"2024-07-22T13:34:03.647Z","0.0.3":"2024-07-22T13:42:44.264Z","0.0.4":"2025-12-16T05:51:16.878Z"},"author":{"name":"Akiva Gordon","email":"akivag29@gmail.com"},"license":"ISC","maintainers":[{"name":"akivajgordon","email":"akivag29@gmail.com"}],"readme":"# logger\n\n## Description\n\nThis is my opinionated logger. The main opinion here is a hardcoded \"tag\" that prefixes each log message. The tag is intended to be **hardcoded** and **unique** across the codebase. This enables finding where a log message came from by simply searching the codebase for the tag.\n\nI set my editor to generate a log line for me and automatically create a random 8-digit string as the tag. This makes it almost effortless to comply with the intention of the tag. \n\n## Install\n\n```\nnpm install @akivajgordon/logger\n```\n\n## Usage\n\n```typescript\nimport logger from '@akivajgordon/logger'\n\nlogger.info('c8f18d56', 'Hello, world!')\n```\n\nNow when I see this log output, it will include the tag. I can search my codebase for that tag and I'll be likely to find the exact origin of the message.\n","readmeFilename":"README.md","description":"## Description"}