Discover Packages
github.com/504dev/logr
module
Version:
v1.0.6
Opens a new window with list of versions in this module.
Published: Jan 22, 2024
License: Apache-2.0
Opens a new window with license information.
README
README
¶
logr is an open source logger and metric service.
Helps you debug and analyze performance of your features.
Get to know your application better with logr .
Demo
logs looks like in your Terminal
storing data in ClickHouse
transport data by WebSocket
Golang
backend
Vue.js
frontend
Authorization by GitHub
Usage
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!');
Requirements
Node.js v12
Npm v6
Golang v1.13
ClickHouse v20
Mysql v5.7
Build & Run service
Manual
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
Run:
make run
Enjoy:
http://localhost:7778/
Docker
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 file:
make config
Run:
docker-compose up -d
Enjoy:
http://localhost:7778/
Config
bind:
http: ":7778"
udp: ":7776"
oauth:
github:
client_id: "9bd30997b0ee30997b0ee3"
client_secret: "1f241d37d910b11f241d37d910b11f241d37d910b1"
org: "504dev"
jwt_secret: "jwt-secret"
clickhouse: "tcp://localhost:9000?database=logr&username=logr&password=logr"
mysql: "logr:logr@tcp(localhost:3306)/logr"
client_id
and client_secret
is Github App keys (optional. set empty, if not sure)
org
is organization restriction (if set, only org members can authorize)
jwt_secret
is random string (using to sign temporary authorization tokens)
Client libraries
Utils
Expand ▾
Collapse ▴
Click to show internal directories.
Click to hide internal directories.