An open API service indexing awesome lists of open source software.

https://github.com/viburoshin25/vibrox-echo

Logging microservice that receives log messages via gRPC and outputs them in a structured format. Designed to be extendable for persistent storage, external log sinks, or observability tooling. Built with Go.
https://github.com/viburoshin25/vibrox-echo

go golang gprc grpc-go grpc-server logger-backend logging microservice microservices

Last synced: 3 months ago
JSON representation

Logging microservice that receives log messages via gRPC and outputs them in a structured format. Designed to be extendable for persistent storage, external log sinks, or observability tooling. Built with Go.

Awesome Lists containing this project

README

          

# vibrox-echo

`vibrox-echo` is the centralized logging microservice in the **Vibrox** suite.
It receives logs via gRPC from other services and can be extended to support structured logging, tracing, and persistent storage.

---

## ✨ Features

- Receives log events via gRPC
- Supports different log levels (info, warn, error, etc.)
- Easily extendable to write to file, stdout, external systems, or databases

---

## ⚙️ gRPC Setup

The logging API is defined in a `.proto` file inside the `proto/` directory.

### ✅ Compile Command

```bash
protoc -I=./proto/ \
--go_out=./proto/ \
--go-grpc_out=./proto/ \
./proto/$PROTO_FILE
```

> Replace `$PROTO_FILE` with the actual `.proto` file name, e.g., `logger.proto`.

---

## 🚀 Getting Started

### Prerequisites

- Go 1.24+
- `protoc` (Protocol Buffers compiler)
- Go plugins for `protoc` (`protoc-gen-go`, `protoc-gen-go-grpc`)

### Install gRPC Plugins (once)

```bash
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
```

Ensure your `$GOPATH/bin` is in your `PATH` so `protoc` can find the plugins.

---

### Run Locally

```bash
go run main.go
```