logram - push logs updates to Telegram

Use
- Install Rust via Rustup
- Install logram:
cargo install logram
- Create bot via @BotFather
- Run logram in
echo id mode: logram echo_id --token=...
- Send any message to bot and use chat id in config
- Write config from example
- Run logram
logram --config=...
- Create systemd service if needed
Config example
telegram:
chat_id: 12345678 token: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
sources:
fs:
entries: - /tmp/log_file
journald:
units: - docker.service
- nginx.service
Systemd service
- Create link:
sudo ln -s /home/<user>/.cargo/bin/logram /usr/bin/logram
- Copy config to
/etc/logram.yaml
- Copy
logram.service to /etc/systemd/system
- Reload services:
sudo systemctl daemon-reload
- Enable service:
sudo systemctl enable logram
- Run service:
sudo systemctl start logram
Usage with log
- Load
logram as library
logram = "1.1"
- Init logram
use log::{debug, error, info, log, trace, warn, Level};
use logram;
fn main() {
logram::init(
"bot token".to_string(),
"chat id".to_string(),
Level::Error,
)
.unwrap();
trace!("trace");
debug!("debug");
info!("info");
warn!("warn");
error!("error");
log!(Level::Error, "Received errors: {}", "a");
log!(target: "app_events", Level::Warn, "App warning")
}