aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs51
1 files changed, 10 insertions, 41 deletions
diff --git a/src/main.rs b/src/main.rs
index 3660ccd..aae6035 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -4,6 +4,7 @@
extern crate frippy;
extern crate glob;
extern crate irc;
+extern crate log4rs;
extern crate time;
#[cfg(feature = "mysql")]
@@ -21,7 +22,6 @@ extern crate failure;
#[macro_use]
extern crate log;
-use log::{Level, LevelFilter, Metadata, Record};
use std::collections::HashMap;
#[cfg(feature = "mysql")]
use std::sync::Arc;
@@ -44,58 +44,27 @@ use frippy::Config;
#[cfg(feature = "mysql")]
embed_migrations!();
-struct Logger;
-
-impl log::Log for Logger {
- fn enabled(&self, metadata: &Metadata) -> bool {
- metadata.target().contains("frippy")
- }
-
- fn log(&self, record: &Record) {
- if self.enabled(record.metadata()) {
- if record.metadata().level() >= Level::Debug {
- println!(
- "[{}]({}) {} -> {}",
- time::now().rfc822(),
- record.level(),
- record.target(),
- record.args()
- );
- } else {
- println!(
- "[{}]({}) {}",
- time::now().rfc822(),
- record.level(),
- record.args()
- );
- }
+fn main() {
+ if let Err(e) = log4rs::init_file("log.yml", Default::default()) {
+ use log4rs::Error;
+ match e {
+ Error::Log(e) => eprintln!("Log4rs error: {}", e),
+ Error::Log4rs(e) => eprintln!("Failed to parse \"log.yml\" as log4rs config: {}", e),
}
- }
- fn flush(&self) {}
-}
-
-static LOGGER: Logger = Logger;
+ return;
+ }
-fn main() {
// Print any errors that caused frippy to shut down
if let Err(e) = run() {
let text = e.causes()
.skip(1)
.fold(format!("{}", e), |acc, err| format!("{}: {}", acc, err));
error!("{}", text);
- };
+ }
}
fn run() -> Result<(), Error> {
- log::set_max_level(if cfg!(debug_assertions) {
- LevelFilter::Debug
- } else {
- LevelFilter::Info
- });
-
- log::set_logger(&LOGGER).unwrap();
-
// Load all toml files in the configs directory
let mut configs = Vec::new();
for toml in glob("configs/*.toml").unwrap() {