{"id":18456220,"url":"https://github.com/khezen/bunyancat","last_synced_at":"2026-05-14T21:02:23.169Z","repository":{"id":57209856,"uuid":"85409718","full_name":"khezen/bunyancat","owner":"khezen","description":"extend bunyan logger integrating useful streams","archived":false,"fork":false,"pushed_at":"2017-03-18T15:52:49.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T19:13:18.750Z","etag":null,"topics":["bunyan","bunyan-stream","javascript","logger","logging","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khezen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-18T15:02:43.000Z","updated_at":"2017-03-18T16:23:38.000Z","dependencies_parsed_at":"2022-08-29T11:50:33.000Z","dependency_job_id":null,"html_url":"https://github.com/khezen/bunyancat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khezen%2Fbunyancat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khezen%2Fbunyancat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khezen%2Fbunyancat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khezen%2Fbunyancat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khezen","download_url":"https://codeload.github.com/khezen/bunyancat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250306642,"owners_count":21408926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bunyan","bunyan-stream","javascript","logger","logging","nodejs"],"created_at":"2024-11-06T08:10:46.127Z","updated_at":"2026-05-14T21:02:18.112Z","avatar_url":"https://github.com/khezen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![NPM Version](http://img.shields.io/npm/v/bunyancat.svg?style=flat)](https://www.npmjs.org/package/bunyancat)\n\n# get started\n\n## Instanciate a logger\n* We are using default values in the example below:\n\n```javascript\nconst bunyan = require(\"bunyancat\");\n\nlet log = bunyan.createLogger({\n  name: \"helloworld\",\n  stdout:{\n    level: \"debug\",\n  },\n  rotatingFile: {\n    path: \"/var/logs/helloworld\",\n    period: \"1d\",\n    count: 7,\n    level: \"info\"\n  },\n  logstash: {\n    host: \"localhost\",\n    port: 5000,\n    level: \"info\",\n    tags: null\n  },\n  rollbar: {\n    token: \"rollback access token\",\n    rollbarOptions: {} // Options to pass to rollbar.init()\n  },\n  kafka: {\n    host: \"localhost\",\n    port: 2181,\n    level: \"info\",\n    topic: \"log-helloworld-topic\"\n  },\n  slack: {\n    webhook: \"slack webhook url\",\n    channel: \"slack channel\",\n    username: \"bunyancat\",\n    level: \"error\"\n  }\n});\n\nlog.info('hi');\nlog.warn({lang: 'fr'}, 'au revoir');\n```\n* Bunyan will have stdout stream only in the example below:\n\n```javascript\nconst bunyan = require(\"bunyancat\");\n\nlet log = bunyan.createLogger({\n  name: \"helloworld\"\n});\n\nlog.info('hi');\nlog.warn({lang: 'fr'}, 'au revoir');\n```\n\n## Inheritence\n\nBunyan has a concept of a child logger to specialize a logger for a sub-component of your application, i.e. to create a new logger with additional bound fields that will be included in its log records. A child logger is created with `log.child(...)`.\n\n```javascript\nconst bunyan = require(\"bunyancat\");\n\nlet log = bunyan.createLogger({\n  name: \"helloworld\"\n});\n\nfunction Wuzzle(options) {\n    this.log = options.log.child({widget_type: 'wuzzle'});\n    this.log.info('creating a wuzzle')\n}\nWuzzle.prototype.woos = function () {\n    this.log.warn('This wuzzle is woosey.')\n}\n\nlog.info('start');\nvar wuzzle = new Wuzzle({log: log});\nwuzzle.woos();\nlog.info('done');\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhezen%2Fbunyancat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhezen%2Fbunyancat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhezen%2Fbunyancat/lists"}