{"id":37116115,"url":"https://github.com/mrwong99/logging","last_synced_at":"2026-01-14T13:37:32.453Z","repository":{"id":39578880,"uuid":"227697097","full_name":"MrWong99/logging","owner":"MrWong99","description":"A slim log collection tool.","archived":false,"fork":false,"pushed_at":"2023-03-22T22:07:59.000Z","size":143,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-06-21T13:21:50.136Z","etag":null,"topics":["docker","filesystem","golang","grpc","grpc-go","linux","log","logging","windows"],"latest_commit_sha":null,"homepage":"","language":"Go","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/MrWong99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-12-12T21:10:15.000Z","updated_at":"2021-12-16T13:59:10.000Z","dependencies_parsed_at":"2024-06-20T11:17:12.254Z","dependency_job_id":"7d32f06e-24d4-4ddf-9f3a-6be2084ec32b","html_url":"https://github.com/MrWong99/logging","commit_stats":{"total_commits":44,"total_committers":5,"mean_commits":8.8,"dds":0.7045454545454546,"last_synced_commit":"400a849995ae3a9531e664d14fd24f56fce163c7"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/MrWong99/logging","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrWong99%2Flogging","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrWong99%2Flogging/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrWong99%2Flogging/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrWong99%2Flogging/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrWong99","download_url":"https://codeload.github.com/MrWong99/logging/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrWong99%2Flogging/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28421398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["docker","filesystem","golang","grpc","grpc-go","linux","log","logging","windows"],"created_at":"2026-01-14T13:37:31.614Z","updated_at":"2026-01-14T13:37:32.419Z","avatar_url":"https://github.com/MrWong99.png","language":"Go","readme":"![Go](https://github.com/MrWong99/logging/workflows/Go/badge.svg) [![Release](https://github.com/MrWong99/logging/workflows/Release/badge.svg)](https://github.com/MrWong99/logging/releases) [![Docker](https://github.com/MrWong99/logging/workflows/Docker/badge.svg)](https://hub.docker.com/repository/docker/mrwong99/logging)\n\n# gLogCollector\n\nThis is a simple tool to collect and forward logs. It is able to efficiently read\nnew logs written in any given folder and then forward these logs via a gRPC connection.\n\n## Usage\n\nThe executable has three **parameters**:\n\n* `--log-folders`: specify folders to read logs from. **The folders need to exist!** Default is ./logs,./log\n* `--grpc-addresses`: specify the backends to send logs to. Seperate multiple servers with `,` e.g. `localhost:8080,example.web.com:234`. Default is none\n* `--grpc-port`: specify the port of the gRPC server to start. If none is set no server will be started. Default is none\n\nYou can also provide the same configuration via **environment variables**:\n\n* `LOG_FOLDERS`\n* `GRPC_ADDRESSES`\n* `GRPC_PORT`\n\nThe environment variables override the cli parameters.\n\nThe log files need to be appended to via software or in the editor.\n**Most modern IDEs and editors will perform [two write operations on save](https://github.com/fsnotify/fsnotify/issues/304), which results in the entire file being logged even if only one line changes!**\n\nTo start the application as server for a specific port:\n\n**Windows:**\n```batch\nlogging.exe --log-folders . --grpc-port 8080\n```\n\n**Linux:**\n```bash\n./logging --log-folders . --grpc-port 8080\n```\n\nyou can then connect a client that sends logs in folder `./logs` to the server:\n\n**Windows:**\n```batch\nlogging.exe --log-folders ./logs --grpc-addresses 127.0.0.1:8080\n```\n\n**Linux:**\n```batch\n./logging --log-folders ./logs --grpc-addresses 127.0.0.1:8080\n```\n\n## Docker\n\nYou can also pull the image from Dockerhub:\n\nhttps://hub.docker.com/repository/docker/mrwong99/logging\n\n## Generate from Protobuf file\n\nTo generate the gRPC code you need to [download and install the Google Protocol Buffer Compiler](https://developers.google.com/protocol-buffers/docs/downloads).\n\nAfterwars you have to install the following go packages:\n```bash\ngo get -u google.golang.org/grpc\ngo get -u github.com/golang/protobuf/protoc-gen-go\n```\n\nFinally you can regenerate the [communication/log.pb.go] file using\n\n**Linux:**\n```bash\nprotoc -I communication/ communication/log.proto --go_out=plugins=grpc:communication\n```\n\n**Windows:**\n```batch\nprotoc -I .\\communication\\ .\\communication\\log.proto --go_out=plugins=grpc:communication\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrwong99%2Flogging","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrwong99%2Flogging","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrwong99%2Flogging/lists"}