#![deny(warnings, clippy::all)]
use log::{info, LevelFilter, Log};
use std::io::prelude::*;
use systemd_journal_logger::{connected_to_journal, JournalLog};
struct SimpleLogger;
impl Log for SimpleLogger {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}
fn log(&self, record: &log::Record) {
let _ = writeln!(std::io::stderr(), "{}", record.args());
}
fn flush(&self) {
let _ = std::io::stderr().flush();
}
}
fn main() {
if connected_to_journal() {
JournalLog::new()
.unwrap()
.with_extra_fields(vec![("VERSION", env!("CARGO_PKG_VERSION"))])
.install()
.unwrap();
} else {
log::set_logger(&SimpleLogger).unwrap();
}
log::set_max_level(LevelFilter::Info);
info!("Hello\nworld!");
}