{"_id":"@bikenm/express-bunyan-logger-updated","_rev":"2-0c6d7b42cac55fb3c75b2a6b18a34dea","name":"@bikenm/express-bunyan-logger-updated","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@bikenm/express-bunyan-logger-updated","version":"1.0.0","keywords":["express","logger","bunyan"],"author":{"name":"wei.gao","email":"jky239@gmail.com"},"license":"BSD","_id":"@bikenm/express-bunyan-logger-updated@1.0.0","maintainers":[{"name":"bikenm","email":"bm181354@bu.edu"}],"contributors":[{"name":"Wei Gao","email":"jky239@gmail.com"},{"name":"Paris Holley","email":"mail@parisholley.com"},{"name":"Ognian Tschakalov","email":"ognian.tschakalov@ogi-it.com"},{"name":"Simon Wade","email":"simon.wade@gmail.com"}],"homepage":"https://github.com/bm181354/express-bunyan-logger-updated#readme","bugs":{"url":"https://github.com/bm181354/express-bunyan-logger-updated/issues"},"dist":{"shasum":"fa8f8069b0a801a1ad7c8e7ef5bc2980fa26683c","tarball":"https://registry.npmjs.org/@bikenm/express-bunyan-logger-updated/-/express-bunyan-logger-updated-1.0.0.tgz","fileCount":8,"integrity":"sha512-FBdwZVQ2URZp+y8hmcs6cOC84sa4NCTEopj08UswbM6a0o7JpnHaOkN59Ihrwj/agIe0TUhbRCYdpIju+nxeeg==","signatures":[{"sig":"MEQCICVbdMZChMdS2HNWjF2d5vmb9zvLVvL4/Ce3lFtIRSyKAiAX1ZcDktEFXyvx5B4eTiCQ3qkKofdyp4PpdriVSKbAOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23433},"main":"index.js","gitHead":"ec331242b31a033b761672f57bc566042cfb9485","scripts":{"lint":"jshint index.js test/*.js","test":"npm run lint && mocha -R spec"},"_npmUser":{"name":"bikenm","email":"bm181354@bu.edu"},"repository":{"url":"git+https://github.com/bm181354/express-bunyan-logger-updated.git","type":"git"},"_npmVersion":"6.14.18","description":"a bunyan logger middleware for express","directories":{},"_nodeVersion":"14.21.3","dependencies":{"uuid":"^3.1.0","bunyan":"^1.8.12","lodash":"^4.17.21","useragent":"^2.2.1","lodash.has":"^4.5.2"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^3.0.1","jshint":"^2.9.2","express":"^4.14.0","through2":"^2.0.1","supertest":"^2.0.0","body-parser":"^1.15.2"},"_npmOperationalInternal":{"tmp":"tmp/express-bunyan-logger-updated_1.0.0_1741661622542_0.12002780103595612","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bikenm/express-bunyan-logger-updated","version":"1.0.1","description":"a bunyan logger middleware for express","main":"index.js","types":"./index.d.ts","scripts":{"lint":"jshint index.js test/*.js","test":"npm run lint && mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/bm181354/express-bunyan-logger-updated.git"},"keywords":["express","logger","bunyan"],"dependencies":{"bunyan":"^1.8.12","lodash.has":"^4.5.2","lodash":"^4.17.21","useragent":"^2.2.1","uuid":"^3.1.0"},"devDependencies":{"body-parser":"^1.15.2","express":"^4.14.0","jshint":"^2.9.2","mocha":"^3.0.1","supertest":"^2.0.0","through2":"^2.0.1"},"author":{"name":"wei.gao","email":"jky239@gmail.com"},"contributors":[{"name":"Wei Gao","email":"jky239@gmail.com"},{"name":"Paris Holley","email":"mail@parisholley.com"},{"name":"Ognian Tschakalov","email":"ognian.tschakalov@ogi-it.com"},{"name":"Simon Wade","email":"simon.wade@gmail.com"}],"license":"BSD","gitHead":"ec331242b31a033b761672f57bc566042cfb9485","bugs":{"url":"https://github.com/bm181354/express-bunyan-logger-updated/issues"},"homepage":"https://github.com/bm181354/express-bunyan-logger-updated#readme","_id":"@bikenm/express-bunyan-logger-updated@1.0.1","_nodeVersion":"14.21.3","_npmVersion":"6.14.18","dist":{"integrity":"sha512-Xh/BJVNT8RMuaAfbQojPgXVXPceAYSybQ9hoNBN1p6/qOrbk6ztG1DChrMgs1xTN+5O6sADrv+xuptAejjqsjg==","shasum":"eb04c7ba48d31d1ea3b3eaff02b382ac00ea0ec2","tarball":"https://registry.npmjs.org/@bikenm/express-bunyan-logger-updated/-/express-bunyan-logger-updated-1.0.1.tgz","fileCount":9,"unpackedSize":24538,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE+v5QFz4JA1RuSRnRyaaGR7vI3d6QrGo7RC2PB6f0miAiEA6zhOcuL24XiL39bD3uHGzN8c43tZLTM+YZe0Y+czpLs="}]},"_npmUser":{"name":"bikenm","email":"bm181354@bu.edu"},"directories":{},"maintainers":[{"name":"bikenm","email":"bm181354@bu.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express-bunyan-logger-updated_1.0.1_1741662711479_0.9871886562030472"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-11T02:53:42.406Z","modified":"2025-03-11T03:11:51.845Z","1.0.0":"2025-03-11T02:53:42.697Z","1.0.1":"2025-03-11T03:11:51.679Z"},"bugs":{"url":"https://github.com/bm181354/express-bunyan-logger-updated/issues"},"author":{"name":"wei.gao","email":"jky239@gmail.com"},"license":"BSD","homepage":"https://github.com/bm181354/express-bunyan-logger-updated#readme","keywords":["express","logger","bunyan"],"repository":{"type":"git","url":"git+https://github.com/bm181354/express-bunyan-logger-updated.git"},"description":"a bunyan logger middleware for express","contributors":[{"name":"Wei Gao","email":"jky239@gmail.com"},{"name":"Paris Holley","email":"mail@parisholley.com"},{"name":"Ognian Tschakalov","email":"ognian.tschakalov@ogi-it.com"},{"name":"Simon Wade","email":"simon.wade@gmail.com"}],"maintainers":[{"name":"bikenm","email":"bm181354@bu.edu"}],"readme":"# Express-bunyan-logger\n\nA express logger middleware powered by [bunyan](https://github.com/trentm/node-bunyan).\n\n[![Build Status](https://travis-ci.org/villadora/express-bunyan-logger.svg?branch=master)](https://travis-ci.org/villadora/express-bunyan-logger) [![dependencies](https://david-dm.org/villadora/express-bunyan-logger.svg)](https://david-dm.org/villadora/express-bunyan-logger)\n\n\n## Note\n\nThis year as work content change, I have no spare time to maintaining the node modules, if anyone want to take or keep maintaining, just contact me via jky239@gmail.com with Title contains: \"Wanted: npm package xxxx\". Thx.\n\n## Installation\n\n    npm install express-bunyan-logger\n\n## Usage\n\nTo use the logger:\n\n```javascript\napp.use(require('express-bunyan-logger')());\n```\n\nTo use the errorLogger:\n\n```javascript\napp.use(require('express-bunyan-logger').errorLogger());\n```\n\nAnd you can also pass bunyan logger options to the logger middleware:\n\n```javascript\napp.use(require('express-bunyan-logger')({\n    name: 'logger',\n    streams: [{\n        level: 'info',\n        stream: process.stdout\n    }]\n}));\n```\n\nChange default format:\n\n```javascript\napp.use(require('express-bunyan-logger')({\n    format: \":remote-address - :user-agent[major] custom logger\"\n});\n```\nAnd a child logger will be attached to each request object:\n\n```javascript\napp.use(require('express-bunyan-logger')();\napp.use(function(req, res, next) {\n    req.log.debug('this is debug in middleware');\n    next();\n});\n```\n\n## Configuration\n\n### options.format\n\nFormat string, please go the source code to the metadata. \":name\" will print out meta.name; \":name[key]\" will print out the property 'key' of meta.name.\n\nOr you can pass a function to _options.format_. This function accept a object as argument and return string.\n\n### options.parseUA\n\nWhether to parse _user-agent_ in logger, default is =true=.\n\n### options.levelFn\n\nFunction that translate statusCode into log level. The `meta` argument is an object consisting of all the fields gathered by bunyan-express-logger, before exclusions are applied.\n\n```javascript\nfunction(status, err /* only will work in error logger */, meta) {\n     // return string of level\n     if (meta[\"response-time\"] > 30000) {\n         return \"fatal\";\n     } else {\n         return \"info\";\n     }\n}\n```\n\n### options.includesFn\n\nFunction that is passed `req` and `res`, and returns an object whose properties will be added to the meta object passed to bunyan\n\n```javascript\nfunction(req, res) {\n    if (req.user) {\n        return {\n            _id: req.user._id,\n            name: req.user.name\n        }\n    }\n}\n```\n\n### options.excludes\n\nArray of string, Those fields will be excluded from meta object which passed to bunyan\n\n### options.obfuscate\nArray of strings to obfuscate.\nThese strings can be in dotted notation, for instance `body.password`, and it will only replace that specific value.\nThis will replace the values in log messages with a [placeholder](#optionsobfuscateplaceholder).\n\n### options.obfuscatePlaceholder\n\nPlaceholder to use when obfuscating values.\nThis is only applicable when there are values to obfuscate.\nDefault is `[HIDDEN]`.\n\n### options.serializers\n\nAn object of [bunyan serializers](https://github.com/trentm/node-bunyan#serializers). They are passed on to bunyan.\nThe default serializers are defined as follows:\n\n```javascript\n{\n    req: bunyan.stdSerializers.req,\n    res: bunyan.stdSerializers.res,\n    err: bunyan.stdSerializers.err\n}\n```\n\n### options.immediate\n\nWrite log line on request instead of response (for response times)\n\n### options.genReqId\n\nBy default, `express-bunyan-logger` will generate an unique id for each request, and a field 'req_id' will be added to child logger in `request` object.\n\nIf you have already use other middleware/framework to generate request id, you can pass a function to retrieve it:\n\n```javascript\n// suppose connect-requestid middleware is already added.\napp.use(require('express-bunyan-logger')({\n    genReqId: function(req) {\n       return req.id;\n    }\n});\n```\n\n\n## License\n\n(The BSD License)\n\n    Copyright (c) 2013, Villa.Gao <jky239@gmail.com>;\n","readmeFilename":"README.md"}