{"id":16842519,"url":"https://github.com/trentm/otellogsplay","last_synced_at":"2026-05-19T17:09:18.104Z","repository":{"id":180263477,"uuid":"664857226","full_name":"trentm/otellogsplay","owner":"trentm","description":"/me playing with OTel logging","archived":false,"fork":false,"pushed_at":"2023-07-10T23:28:17.000Z","size":7,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T12:25:35.396Z","etag":null,"topics":["logging","opentelemetry"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trentm.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-10T23:05:15.000Z","updated_at":"2023-07-11T13:31:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b128ad1-98d6-4c0d-b9c5-4ffe1b9de909","html_url":"https://github.com/trentm/otellogsplay","commit_stats":null,"previous_names":["trentm/otellogsplay"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trentm%2Fotellogsplay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trentm%2Fotellogsplay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trentm%2Fotellogsplay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trentm%2Fotellogsplay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trentm","download_url":"https://codeload.github.com/trentm/otellogsplay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244166637,"owners_count":20409177,"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":["logging","opentelemetry"],"created_at":"2024-10-13T12:46:27.927Z","updated_at":"2026-05-19T17:09:13.067Z","avatar_url":"https://github.com/trentm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"/me playing with OTel logging\n\nCurrently this is a proof-of-concept for an OTel Logs SDK appender for\n[Bunyan](https://github.com/trentm/node-bunyan).\n\n# Usage\n\n```sh\nnpm install\nnode bunyan-otel.js\n```\n\nThis creates a Bunyan logger with an \"OTelBunyanAppender\" stream. The OTel Logs\nSDK is setup to emit records to the console. Any Bunyan logger methods are\nemitted to the stdout (the default) and through the Logs SDK.\n\nThe [Bunyan appender is here](lib/OTelBunyanAppender.js).\n\n\n# Open Questions and TODOs\n\n- See \"TODO\"s in \"lib/OTelBunyanAppender.js\"\n- See \"Open questions\" in \"lib/OTelBunyanAppender.js\"\n- Call these \"appenders\" or Logger-specific naming (e.g. a \"stream\" for bunyan)?\n- What package name?\n- Where would these live? In opentelemetry-js-contrib/plugins/node?\n  In opentelemetry-js-contrib/packages?\n  In opentelemetry-js-contrib/experimental/packages?\n- How, if at all, to interact with\n  https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-bunyan/\n\n\n# TODO later\n\n```js\n// TODO: test with *only* the otel appender.\n// var log = bunyan.createLogger({\n//   name: 'myapp',\n//   streams: [\n//     {\n//       type: 'raw',\n//       stream: new OTelBunyanAppender()\n//     }\n//   ]\n// });\n\n// log.info({time: 'foo'}, 'hi');  // Testing edge case with a given 'time' field.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrentm%2Fotellogsplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrentm%2Fotellogsplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrentm%2Fotellogsplay/lists"}