diff options
| author | Fuwn <[email protected]> | 2020-10-26 19:03:53 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2020-10-26 19:03:53 -0700 |
| commit | 9742614a1dc4699c1f2c69d923d402237672335d (patch) | |
| tree | a49f7d834372f37cef06b30a28ff1b40bdfaa079 /src/main.rs | |
| parent | Create README.md (diff) | |
| download | dep-core-next-9742614a1dc4699c1f2c69d923d402237672335d.tar.xz dep-core-next-9742614a1dc4699c1f2c69d923d402237672335d.zip | |
repo: push main from local to remote
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e4235a0 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,63 @@ +#[macro_use] extern crate log; +#[macro_use] extern crate wisp; +extern crate chrono; +extern crate fern; +extern crate kankyo; + +use fern::colors::{Color, ColoredLevelConfig}; +use wisp::WispClient; + +fn main() { + kankyo::load().expect("Failed to load .env file."); + fern_setup().expect("Failed to apply Fern settings."); + let mut client = WispClient::new(); + check_error!(client.start()); +} + +fn fern_setup() -> Result<(), log::SetLoggerError> { + let colours = ColoredLevelConfig::new() + .trace(Color::Magenta) + .debug(Color::Cyan) + .info(Color::Green) + .warn(Color::Yellow) + .error(Color::Red); + + + let term_out = fern::Dispatch::new() + .format(move |out, message, record| { + out.finish(format_args!( + "{time} {level:level_width$}{target:target_width$}> {msg}", + time = chrono::Utc::now().format("%F %T"), + level = colours.color(record.level()), + target = format!("{}:{}", record.target(), record.line().unwrap_or(0)), + msg = message, + level_width = 8, + target_width = 60 + )) + }) + .chain(std::io::stdout()) + .into_shared(); + + let file_out = fern::Dispatch::new() + .format(|out, message, record| { + out.finish(format_args!( + "{time} {level:level_width$}{target:target_width$}> {msg}", + time = chrono::Utc::now().format("%F %T"), + level = record.level(), + target = format!("{}:{}", record.target(), record.line().unwrap_or(0)), + msg = message, + level_width = 8, + target_width = 60 + )) + }) + .chain(fern::log_file("output.log").expect("Failed to load log file")) + .into_shared(); + + fern::Dispatch::new() + .level(log::LevelFilter::Info) + .level_for("serenity", log::LevelFilter::Debug) + .level_for("wisp", log::LevelFilter::Debug) + .chain(term_out) + .chain(file_out) + .apply() +} |