jenslog-rs/src/logging/logger.rs
LordMZTE 8bba874cd6 move some stuff
key names will finally be correct
2020-08-26 14:24:52 +02:00

27 lines
678 B
Rust

use crate::logging::loggers::{ConsoleLogger, FileLogger};
use crate::key::keystate::KeyState;
pub trait Logger: Sync {
fn log(&self, key: &KeyState);
}
pub fn get_logger(name: &str) -> Box<dyn Logger> {
match name {
"file" => Box::new(FileLogger::new_default()),
_ => Box::new(ConsoleLogger),
}
}
impl dyn Logger {
pub fn default_format(key: &KeyState) -> String {
format!(
"{} >> {}{}{} >> {}",
key.kbdllstruct.vkCode,
if key.win_down { "w" } else { "" },
if key.ctrl_down { "c" } else { "" },
if key.shift_down { "s" } else { "" },
key.name()
)
}
}