{"id":44644078,"url":"https://github.com/spremi/yolog","last_synced_at":"2026-02-14T19:11:39.023Z","repository":{"id":337033093,"uuid":"1152109892","full_name":"spremi/yolog","owner":"spremi","description":"Personal Opentelemetry log viewer.","archived":false,"fork":false,"pushed_at":"2026-02-07T11:40:45.000Z","size":954,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-07T20:18:40.167Z","etag":null,"topics":["angular","docker","fastapi","log","opentelemetry"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spremi.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-07T11:31:57.000Z","updated_at":"2026-02-07T11:54:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/spremi/yolog","commit_stats":null,"previous_names":["spremi/yolog"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/spremi/yolog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spremi%2Fyolog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spremi%2Fyolog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spremi%2Fyolog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spremi%2Fyolog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spremi","download_url":"https://codeload.github.com/spremi/yolog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spremi%2Fyolog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29452786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["angular","docker","fastapi","log","opentelemetry"],"created_at":"2026-02-14T19:11:38.603Z","updated_at":"2026-02-14T19:11:39.016Z","avatar_url":"https://github.com/spremi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yo!LOG\n\n**You Log Only Once**\n\nView Opentelemetry logs in comfort of your own browser with advanced\nfiltering. Aim of this project is to stay simple. No feature overload.\n\nIt is aimed at developers integrating OpenTelemetry who want to avoid\nmanually parsing JSON logs. Standard and colorized console output still\nhas its place, but dynamic filtering will make inspecting logs easier\nand more flexible.\n\n## Features\n\n* View logs within comfort of browser.\n* Dynamic filters.\n  * Filter by log levels\n  * Filters based on incoming log attributes.\n* Persist specific preferences across browser restarts.\n* Start/ stop visualization.\n* Uses a fixed-length log buffer to prevent unbounded memory growth.\n\n### In works\n\n* Format timestamp\n* Support timezone conversion\n* View all atttributes in detail view.\n\n## Project status: BETA\n\nCore functionality is stable and useful for immediate use.\nSome features and edge cases still under development.\n\n## Getting started\n\nThis project can be replicated and deployed locally from source. However,\nfor most users, running the Docker image should the preferred approach due\nto its simplicity and minimal configuration requirements.\n\nGet Docker image from: ([hub](https://hub.docker.com/r/spremi/yolog))\n\n### Ports\nThe container exposes three ports that are required for the application to\nfunction correctly:\n* 4200 – Web UI\n* 8000 – Backend service\n* 4318 – OpenTelemetry log ingestion endpoint\n\n⚠️ Port **4318** is fixed and cannot be changed, as it is used by OpenTelemetry\nloggers.\n\n### Running with `docker run`\n\n```sh\ndocker run --rm -p 4200:4200 -p 8000:8000 -p 4318:4318 yolog-v080\n\n```\n\nOnce the Docker image is running, open your browser at\n[http://localhost:4200](http://localhost:4200).\n\n\n## Under the hood\n\n* Log ingestion is handled by a Python service that forwards data to the\n  UI using WebSockets.\n* UI is built on Angular 19.\n\n\n## Limitations\n\n* The project will deliberately stay lightweight. It is not intended to\n   evolve into a full-featured log viewer.\n* As a personal side project, updates shall be incremental rather than frequent.\n\n## Acknowledgements\n\nSpecial thanks to [otelgen](https://github.com/krzko/otelgen) - it was invaluable\ntool for simulating OpenTelemetry logs used to test this application.\n\n\n## License\n\n\u0026copy; 2025, 2026. Sanjeev Premi.\n\nSource available under the terms of BSD-3-Clause license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspremi%2Fyolog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspremi%2Fyolog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspremi%2Fyolog/lists"}