{"id":42144552,"url":"https://github.com/kozhurkin/logr","last_synced_at":"2026-01-26T17:52:15.571Z","repository":{"id":40292049,"uuid":"210451895","full_name":"kozhurkin/logr","owner":"kozhurkin","description":"Logr - logging and metrics service","archived":false,"fork":false,"pushed_at":"2025-07-06T23:51:41.000Z","size":10446,"stargazers_count":14,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-14T13:30:23.302Z","etag":null,"topics":["log","logger","logging","metrics"],"latest_commit_sha":null,"homepage":"http://kozhurkin.tech/demo","language":"Go","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/kozhurkin.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}},"created_at":"2019-09-23T21:01:28.000Z","updated_at":"2025-07-06T23:51:23.000Z","dependencies_parsed_at":"2024-01-30T07:26:02.533Z","dependency_job_id":"f7c69c17-d583-4e63-9b59-9ec1dcf0aa7c","html_url":"https://github.com/kozhurkin/logr","commit_stats":null,"previous_names":["504dev/kidlog","kozhurkin/logr","504dev/logr"],"tags_count":180,"template":false,"template_full_name":null,"purl":"pkg:github/kozhurkin/logr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kozhurkin%2Flogr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kozhurkin%2Flogr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kozhurkin%2Flogr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kozhurkin%2Flogr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kozhurkin","download_url":"https://codeload.github.com/kozhurkin/logr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kozhurkin%2Flogr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28783677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: 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":["log","logger","logging","metrics"],"created_at":"2026-01-26T17:52:14.787Z","updated_at":"2026-01-26T17:52:15.563Z","avatar_url":"https://github.com/kozhurkin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Logr](https://raw.githubusercontent.com/504dev/logr-front/master/static/preview.png)](http://kozhurkin.tech/demo)\n\n## About\n\n* Authorization by `GitHub`\n* `Terminal` style log display\n* `Golang` backend\n* `Vue.js` + `Vite` frontend\n* `Highcharts` for metrics\n* data storage in `ClickHouse`\n* transport via `WebSocket`\n* [Look at the demo page](http://kozhurkin.tech/demo)\n\n## Usage\n\n```bash\ndocker run -d -p 7776:7776/udp -p 7778:7778 --name logr kozhurkin/logr\n```\n\n```javascript\nconst { Logr } = require('logr-node-client');\n\nconst conf = new Logr({\n  udp: ':7776',\n  publicKey: 'MCAwDQYJKoZIhvcNAQEBBQADDwAwDAIFAMg7IrMCAwEAAQ==',\n  privateKey: 'MC0CAQACBQDIOyKzAgMBAAECBQCHaZwRAgMA0nkCAwDziwIDAL+xAgJMKwICGq0=',\n});\n\nconst logr = conf.newLogger('hello.log');\n\nlogr.info('Hello, Logr!');\n\n// 2024-01-30T22:50:04+03:00 info [v1.0.41, pid=60512, cmd/hello.go:41] Hello, Logr!\n```\n\n## Docker\n\nFor more information, see [documentation on Docker Hub](https://hub.docker.com/r/kozhurkin/logr)\n\n\n```\ndocker run -d \\\n    -v \"$(pwd)/clickhouse_data:/var/lib/clickhouse\" \\\n    -v \"$(pwd)/mysql_data:/var/lib/mysql\" \\\n    -p 7776:7776/udp -p 7778:7778 --name logr kozhurkin/logr\n```\n✔ Enjoy: \\\nhttp://localhost:7778/\n\n## Docker-compose\n\n1. Clone repository: \\\n   `git clone --recurse-submodules https://github.com/504dev/logr.git \u0026\u0026 cd logr`\n2. Generate **.env** file: \\\n   `make env`\n3. Edit **.env** file with your favourite editor\n4. Generate **config.yml**: \\\n   `make config`\n5. Run: \\\n   `docker-compose up -d`\n\n✔ Enjoy: \\\n   http://localhost:7778/\n\n## Manual Build\n\nRequirements: `Node.js v20` `Npm v10` `Golang v1.19` `ClickHouse v23` `Mysql v5.7`\n\n1. Clone repository: \\\n   `git clone --recurse-submodules https://github.com/504dev/logr.git \u0026\u0026 cd logr`\n2. Init **config.yml** file: \\\n   `make config`\n3. Fill **config.yml**, see [Config](#config) section\n4. Creating databases in Clickhouse and Mysql:\n    ```\n    clickhouse-client --query \"CREATE DATABASE IF NOT EXISTS logrdb\"\n    mysql -u root -p -e \"CREATE DATABASE IF NOT EXISTS logrdb;\"\n    ```\n5. Build frontend: \\\n   `make front`\n6. Build backend: \\\n   `make build`\n7. Run: \\\n   `make run`\n\n✔ Enjoy: \\\n   http://localhost:7778/\n\n## Config\n\n```yaml\nbind:\n  http: \":7778\"\n  udp: \":7776\"\noauth:\n  jwt_secret: \"santaclausdoesntexist\"\n  github:\n    client_id: \"9bd30997b0ee30997b0ee3\"\n    client_secret: \"1f241d37d910b11f241d37d910b11f241d37d910b1\"\n    org: \"504dev\"\nclickhouse: \"tcp://localhost:9000?database=logr\u0026username=logr\u0026password=logr\"\nmysql: \"logr:logr@tcp(localhost:3306)/logr\"\n```\n\n* `jwt_secret` is random string (using to sign temporary authorization tokens)\n* `client_id` and `client_secret` is GitHub App keys (optional. set empty, if not sure)\n* `org` is organization restriction (if set, only org members can authorize)\n\n## Client libraries\n\n* Golang [github.com/504dev/logr-go-client](https://github.com/504dev/logr-go-client)\n* Node.js [github.com/504dev/logr-node-client](https://github.com/504dev/logr-node-client)\n\n## Utils\n\n* File Watcher [github.com/504dev/logr-watch](https://github.com/504dev/logr-watch)\n\n## Schema\n![Logr Schema](https://raw.githubusercontent.com/504dev/logr-front/master/static/schema.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkozhurkin%2Flogr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkozhurkin%2Flogr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkozhurkin%2Flogr/lists"}