# README
About
- Authorization by
GitHub
Terminal
style log displayGolang
backendVue.js
+Vite
frontendHighcharts
for metrics- data storage in
ClickHouse
- transport via
WebSocket
- Look at the demo page
Usage
docker run -d -p 7776:7776/udp -p 7778:7778 --name logr kozhurkin/logr
const { Logr } = require('logr-node-client');
const conf = new Logr({
udp: ':7776',
publicKey: 'MCAwDQYJKoZIhvcNAQEBBQADDwAwDAIFAMg7IrMCAwEAAQ==',
privateKey: 'MC0CAQACBQDIOyKzAgMBAAECBQCHaZwRAgMA0nkCAwDziwIDAL+xAgJMKwICGq0=',
});
const logr = conf.newLogger('hello.log');
logr.info('Hello, Logr!');
// 2024-01-30T22:50:04+03:00 info [v1.0.41, pid=60512, cmd/hello.go:41] Hello, Logr!
Docker
For more information, see documentation on Docker Hub
docker run -d \
-v "$(pwd)/clickhouse_data:/var/lib/clickhouse" \
-v "$(pwd)/mysql_data:/var/lib/mysql" \
-p 7776:7776/udp -p 7778:7778 --name logr kozhurkin/logr
✔ Enjoy:
http://localhost:7778/
Docker-compose
- Clone repository:
git clone --recurse-submodules https://github.com/504dev/logr.git && cd logr
- Generate .env file:
make env
- Edit .env file with your favourite editor
- Generate config.yml:
make config
- Run:
docker-compose up -d
✔ Enjoy:
http://localhost:7778/
Manual Build
Requirements: Node.js v20
Npm v10
Golang v1.19
ClickHouse v23
Mysql v5.7
- Clone repository:
git clone --recurse-submodules https://github.com/504dev/logr.git && cd logr
- Init config.yml file:
make config
- Fill config.yml, see Config section
- Creating databases in Clickhouse and Mysql:
clickhouse-client --query "CREATE DATABASE IF NOT EXISTS logrdb" mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS logrdb;"
- Build frontend:
make front
- Build backend:
make build
- Run:
make run
✔ Enjoy:
http://localhost:7778/
Config
bind:
http: ":7778"
udp: ":7776"
oauth:
jwt_secret: "santaclausdoesntexist"
github:
client_id: "9bd30997b0ee30997b0ee3"
client_secret: "1f241d37d910b11f241d37d910b11f241d37d910b1"
org: "504dev"
clickhouse: "tcp://localhost:9000?database=logr&username=logr&password=logr"
mysql: "logr:logr@tcp(localhost:3306)/logr"
jwt_secret
is random string (using to sign temporary authorization tokens)client_id
andclient_secret
is GitHub App keys (optional. set empty, if not sure)org
is organization restriction (if set, only org members can authorize)
Client libraries
Utils
- File Watcher github.com/504dev/logr-watch
Schema
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author