logram 1.1.0

Push logs updates to Telegram
Documentation

logram - push logs updates to Telegram crates.io travis-ci.org

Use

  1. Install Rust via Rustup
  2. Install logram: cargo install logram
  3. Create bot via @BotFather
  4. Run logram in echo id mode: logram echo_id --token=...
  5. Send any message to bot and use chat id in config
  6. Write config from example
  7. Run logram logram --config=...
  8. Create systemd service if needed

Config example

telegram:
  chat_id: 12345678 # chat id
  token: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 # bot token

sources:
  fs: 
    entries: # paths to watching files or dirs
      - /tmp/log_file
      
  journald:
    units: # names of systemd units for watching
      - docker.service
      - nginx.service

Systemd service

  1. Create link: sudo ln -s /home/<user>/.cargo/bin/logram /usr/bin/logram
  2. Copy config to /etc/logram.yaml
  3. Copy logram.service to /etc/systemd/system
  4. Reload services: sudo systemctl daemon-reload
  5. Enable service: sudo systemctl enable logram
  6. Run service: sudo systemctl start logram

Usage with log

  1. Load logram as library
logram = "1.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")
}