LightLogger is a lightweight log collection and monitoring platform built for startups, small teams, and internal systems that want visibility into logs without complex or expensive tools.
It focuses on simplicity, clarity, and low overhead.
- Usage Warning
- Why LightLogger
- Current Features
- What LightLogger Does NOT Do (Yet)
- Tech Stack
- Architecture Overview
- Example Use Cases
- Who Is It For
- Getting Started
- Customization
This setup is not ready for public deployment. It is intended only for internal company logging and testing purposes.
- Do not expose this service to the internet without proper security measures.
- Default credentials and settings are insecure for production.
- Use strong secrets and restrict access if deploying internally.
Always treat the dashboard and logs as sensitive internal data.
Most logging platforms are heavy and costly. LightLogger keeps things simple and easy to run.
- Easy log ingestion
- Centralized log storage
- Fast search and filtering
- Clean web dashboard
- Accept logs over HTTP
- JSON structured logs
- Tag logs by service, level, and environment
- PostgreSQL based storage
- Indexed for fast queries
- Reliable and easy to manage
- Real time style log viewing via polling
- Web based UI
- Minimal and clean interface
- Designed for quick understanding
- No alerts or notifications
- No anomaly detection
- No automatic security response
- No distributed tracing
- Log filtering
- Go
- Gin framework
- PostgreSQL
- React
- Docker
- Docker Compose
- Applications send logs to LightLogger API
- Backend validates and stores logs
- Logs are indexed and stored in PostgreSQL
- Dashboard queries logs for display
- Centralize logs from multiple services
- Debug production issues
- Monitor errors manually
- Observe system behavior over time
- Startups
- Small businesses
- Solo developers
- Internal tools
- Learning observability fundamentals
- Docker
- Docker Compose
Before running the server, update the default environment values in the compose.yml file to suit your setup. This ensures security and proper database connection.
Backend service environment variables:
environment:
DB_HOST: db
DB_PORT: 5432
DB_USER: lightlogger # Change to your database username
DB_PASSWORD: lightlogger # Change to your database password
DB_NAME: lightlogger # Change to your database name
JWT_SECRET: your-secret-key-change-in-production # Change to a strong secretPostgreSQL service environment variables:
environment:
POSTGRES_USER: lightlogger # Change to match backend DB_USER
POSTGRES_PASSWORD: lightlogger # Change to match backend DB_PASSWORD
POSTGRES_DB: lightlogger # Change to match backend DB_NAMEMake sure these values are consistent between the backend and database services. Never use default secrets in production.
Clone the repository and start the services using Docker Compose:
git clone https://github.com/heshanthenura/lightlogger
cd lightlogger
docker-compose up -d-
Dashboard will be accessible at
http://<<host_ip>>:8080If you want to use a different port, update the
portsmapping for the backend service in thedocker-compose.ymlfile. For example:ports: - "9090:8080" # Maps container port 8080 to host port 9090
To stop the services:
docker-compose down-
Access the dashboard at
http://<<host_ip>>:8080and log in using the default credentials:Username: admin Password: admin -
Add a new service in the dashboard.
- After adding, note the service ID and its corresponding URL.

- Send an HTTP
POSTrequest to the service URL with a JSON body like this:
{
"level": "warn",
"message": "Query execution time exceeded threshold - 2500ms"
}-
Supported log levels:
debug, info, warn, error, fatal
This setup can be customized according to your company’s requirements. If you want additional features, integrations, or workflow changes, reach out to me.
customization can be done for an affordable cost to suit your internal logging needs.


