{"_id":"@chaudhryjunaid/express-bunyan-logger","_rev":"2-df1a0ddf36acc38872496c8202bda2fc","name":"@chaudhryjunaid/express-bunyan-logger","dist-tags":{"latest":"1.3.5"},"versions":{"1.3.4":{"name":"@chaudhryjunaid/express-bunyan-logger","version":"1.3.4","description":"a bunyan logger middleware for express","main":"index.js","scripts":{"lint":"jshint index.js test/*.js","test":"npm run lint && mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/chaudhryjunaid/express-bunyan-logger.git"},"keywords":["express","logger","bunyan"],"dependencies":{"bunyan":"^1.8.12","lodash.has":"^4.5.2","lodash.set":"^4.3.2","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"},{"name":"Chaudhry Junaid Anwar","email":"junaidanwar10@gmail.com"}],"license":"BSD-2-Clause","bugs":{"url":"https://github.com/chaudhryjunaid/express-bunyan-logger/issues"},"homepage":"https://github.com/chaudhryjunaid/express-bunyan-logger#readme","directories":{"test":"test"},"gitHead":"c35649c8d760be63d423afa1e14fbd224a215f4b","_id":"@chaudhryjunaid/express-bunyan-logger@1.3.4","_nodeVersion":"12.16.2","_npmVersion":"7.12.1","dist":{"integrity":"sha512-itMapTv/PXAjez4Wjc+xiLRruo4aVVWg3hXbnGCPbDW6UkLaIufG5Bw9HitM4r2weKTaBnQvdr8s3gsIdZJKtA==","shasum":"33390699fbc7702d04977720a152c539830881fb","tarball":"https://registry.npmjs.org/@chaudhryjunaid/express-bunyan-logger/-/express-bunyan-logger-1.3.4.tgz","fileCount":8,"unpackedSize":24248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyDzKCRA9TVsSAnZWagAAW18P/juwsAX6s/fGNVbtLnST\nACpAalmmb+AfUd/tN4Jei7fxnucDx52GabqMOJ5rHlYuuejtAw0E5jMJIhA9\nujj5dNvnlt8RKEX11ft07od3jpxrt3G6W9Ltwv2AkJv2pH4FyPS2gKpAG4rl\nkCO9DXVCCf7xGUKz6a2RNxtP1YPd2cX6PXWmxG5utdCASF8j16IXu10WIeRa\nasWt0NnoRzeFginvl+7ZGzhHZ05CVwtyGfe0qlDzYiCLEwLmI5CKFjKFsHDJ\nsQDOvmWfALHBsnGa8z8Z+1ALsdeeHsoko0rpYccEawIfLK9WfwJ3zVEP95wD\n/6b1QoBzyvN6Fv+/kq0lCrfW8kj5h2h96r+OrAfpm57iaVb237POn3jd8U8S\nHN5/PMnbLQNMBchKlaePtHj4KWRZ/Rf79iR1anLEsek5ARgIs+eEBgDFRir+\nx/VZRCHZmS5gaFU07DCrBXn5KwZ1TEYLAdrXBhR3no3y8X4FmE7yQySE/q0z\nh2fKcRv4w6CZE0ivDOxe6K5hCJDj581uclLSPgp71H77l+ByuUPDTEp7HCgU\n9liGRH/IngJf80Aim7GmbN7r64LKM+rbsEgWw+wPt2/Pc2JNPGvPGX0ZpVpX\nWTHbDKJfbD61bzSgWjX0WgawPay3u07MpbO+1f55k3B70zXhYe4qYd8BkYcR\nvmA4\r\n=bHhB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAiUHV0CRQNC/AI0i7ZWSna9CpYc81X0qD3yruQxSQBCAiEA/ZPJZOi6YbF0Wr3YJ0e5YgvzxV7v+RHze/X8Jd+YbeI="}]},"_npmUser":{"name":"chaudhryjunaid","email":"junaidanwar10@gmail.com"},"maintainers":[{"name":"chaudhryjunaid","email":"junaidanwar10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-bunyan-logger_1.3.4_1623735497958_0.7319669650973284"},"_hasShrinkwrap":false},"1.3.5":{"name":"@chaudhryjunaid/express-bunyan-logger","version":"1.3.5","description":"a bunyan logger middleware for express","main":"index.js","scripts":{"lint":"jshint index.js test/*.js","test":"npm run lint && mocha -R spec"},"repository":{"type":"git","url":"git+https://github.com/chaudhryjunaid/express-bunyan-logger.git"},"keywords":["express","logger","bunyan"],"dependencies":{"bunyan":"^1.8.12","lodash.has":"^4.5.2","lodash.set":"^4.3.2","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"},{"name":"Chaudhry Junaid Anwar","email":"junaidanwar10@gmail.com"}],"license":"BSD-2-Clause","bugs":{"url":"https://github.com/chaudhryjunaid/express-bunyan-logger/issues"},"homepage":"https://github.com/chaudhryjunaid/express-bunyan-logger#readme","directories":{"test":"test"},"gitHead":"74ca81a6dfa96f13ed050e9be86eb6c582ae0e23","_id":"@chaudhryjunaid/express-bunyan-logger@1.3.5","_nodeVersion":"12.16.2","_npmVersion":"7.12.1","dist":{"integrity":"sha512-TxkLkjjhtfJu6QcQXVR1oXDvU1WR1hMycDwchQgooz8vLVoCDoYBZ0rbQ1trUb24rJmqyhzzUkcNzGbGJr2a1w==","shasum":"755e99019a67539b6a9f0337e38f6b77e421b92f","tarball":"https://registry.npmjs.org/@chaudhryjunaid/express-bunyan-logger/-/express-bunyan-logger-1.3.5.tgz","fileCount":8,"unpackedSize":23986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyD4FCRA9TVsSAnZWagAAbvgP+wV7FuKmupmwwE04aKLO\n3e0iXI54vIshYvee8s3lN7fG8eN+p07wOpu+uvYNn8YzpCJ2ZHYIYTIA4rro\nfqrgypKyvCObwkzuCm7lXF/KquBDIwO/UrszLZvThFsi0RJ+tof9WPVdmFvT\nXffJfsaNyJJO+8Q4A4nwygJMA9EGUAIhCwGxy1KIeQCNzopQMXdLDY4kULJ6\n1eo1RoxC4dAI04rqIPn76QVw/U+tVRaCPA9MRshxVIzAqRHPrQvLS9GSsOUh\nSsg/wuU7Xi6rQLenYGAjhz0HedXrTX5hDozp54apOb0/URveh4M8trXsRZQV\nBoWOejLnBQmS0q+jkSZeyIxKQVvrfzhxdP8phK8SKCplcC0yFJoWY/kRRSEv\nFzbAF/F3xgrdn3JLlO9JNCR/9jkRgaqxuZMTCbsnhb6WNqBCPTqUSITGuQj9\nijCf5iTUQV2Om9jHmUGilMnLb4Gufoc5GEZ1dYuov1HGzthtcuT9AzX9Z2JY\nVptXgj9fFjXpV1SsjtaVlD814FP1HZ2wjiDxlVu0jbuzEGxVa0iyRST3pV9P\nMVlDhtE+5LH2xGLmDueHpSm44+qRPMW8wHoi/6GlLgbh1VGP5PGiq9dKFE8f\nn7nRDES+2XEPEZ72fTsbLRH1iQJLxSH904BPzs8dbFB2UXFwqK1R420v5VvX\nOj8U\r\n=zP2l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5IyOyFsPNEmriLdhPrPFmHxWrcTJxt8AJJSk49OjX7AIgX6iS5qpqczCTTLxrLguxPZAbGkQmO3Qr4U89Pw6Wwgo="}]},"_npmUser":{"name":"chaudhryjunaid","email":"junaidanwar10@gmail.com"},"maintainers":[{"name":"chaudhryjunaid","email":"junaidanwar10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-bunyan-logger_1.3.5_1623735813691_0.1929446605424392"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-15T05:38:17.897Z","1.3.4":"2021-06-15T05:38:18.090Z","modified":"2022-04-04T22:34:13.745Z","1.3.5":"2021-06-15T05:43:33.838Z"},"maintainers":[{"name":"chaudhryjunaid","email":"junaidanwar10@gmail.com"}],"description":"a bunyan logger middleware for express","homepage":"https://github.com/chaudhryjunaid/express-bunyan-logger#readme","keywords":["express","logger","bunyan"],"repository":{"type":"git","url":"git+https://github.com/chaudhryjunaid/express-bunyan-logger.git"},"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"},{"name":"Chaudhry Junaid Anwar","email":"junaidanwar10@gmail.com"}],"author":{"name":"wei.gao","email":"jky239@gmail.com"},"bugs":{"url":"https://github.com/chaudhryjunaid/express-bunyan-logger/issues"},"license":"BSD-2-Clause","readme":"# Express-bunyan-logger\n\nA fork of the express logger middleware powered by [bunyan](https://github.com/trentm/node-bunyan). This fork contains fixes and updates that have not been merged upstream because the parent project is unmaintained. In particular, it includes support for node 12 and later. From a functionality point of view, this fork is exactly identical to its parent project.\n\n[![Build Status](https://travis-ci.org/chaudhryjunaid/express-bunyan-logger.svg?branch=master)](https://travis-ci.org/chaudhryjunaid/express-bunyan-logger)\n\n## Installation\n\n    npm install @chaudhryjunaid/express-bunyan-logger\n\n## Usage\n\nTo use the logger:\n\n```javascript\napp.use(require('@chaudhryjunaid/express-bunyan-logger')());\n```\n\nTo use the errorLogger:\n\n```javascript\napp.use(require('@chaudhryjunaid/express-bunyan-logger').errorLogger());\n```\n\nAnd you can also pass bunyan logger options to the logger middleware:\n\n```javascript\napp.use(require('@chaudhryjunaid/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('@chaudhryjunaid/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('@chaudhryjunaid/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.logger\n\nA custom instance of `bunyan` logger to use in the middleware. Useful if you already do all of the logging with `bunyan` and don't want this middleware to create a separate instance. Also useful if you want to pass a child logger into this middleware.\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('@chaudhryjunaid/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"}