Add logger

This commit is contained in:
Brandon Thomas committed 2015-12-10 05:39:45 -05:00
1 parent 2b1c0f84bb
commit b230e2674e
4 files changed
+48 -4

No files matched your search

+1 -2
View File
@@ -25,7 +25,6 @@ use super::error_filter::build_error;
const QUERY_PARAM : &'static str = "q";
/// Synthesizes audio from input.
pub struct AudioSynthHandler {
/// Root of where files can be served from.
@@ -53,7 +52,7 @@ impl Handler for AudioSynthHandler {
},
};
println!("Request: {}", sentence);
info!("Speak Request: {}", sentence);
let result = self.create_audio(sentence);
let mime_type = "audio/wav".parse::<Mime>().unwrap();
+1 -1
View File
@@ -20,7 +20,7 @@ pub fn build_error(status: Status, message: &str) -> IronResult<Response> {
impl AfterMiddleware for ErrorFilter {
fn catch(&self, _: &mut Request, err: IronError) -> IronResult<Response> {
println!("Error has occurred! Error: {}", err.error);
error!("Error has occurred! Error: {}", err.error);
// TODO: Return JSON if request was JSON, otherwise HTML.
match err.response.status {
+37
View File
@@ -0,0 +1,37 @@
// Copyright (c) 2015 Brandon Thomas <bt@brand.io>
use log::LogLevel;
use log::LogLevelFilter;
use log::LogMetadata;
use log::LogRecord;
use log::SetLoggerError;
use log;
use time::now;
/// Simple logger example taken from rust-lang.org docs.
pub struct SimpleLogger;
impl SimpleLogger {
/// Install the logger.
pub fn init() -> Result<(), SetLoggerError> {
log::set_logger(|max_log_level| {
max_log_level.set(LogLevelFilter::Info);
Box::new(SimpleLogger)
})
}
}
impl log::Log for SimpleLogger {
fn enabled(&self, metadata: &LogMetadata) -> bool {
metadata.level() <= LogLevel::Info
}
fn log(&self, record: &LogRecord) {
if self.enabled(record.metadata()) {
let time = now();
let timestamp = time.rfc3339();
println!("[{}] {} - {}", timestamp, record.level(), record.args());
}
}
}
+9 -1
View File
@@ -1,10 +1,16 @@
// Copyright (c) 2015 Brandon Thomas <bt@brand.io>
extern crate hound;
extern crate iron;
#[macro_use]
extern crate log;
extern crate router;
extern crate rustc_serialize;
extern crate time;
extern crate urlencoded;
pub mod handlers;
pub mod logger;
pub mod words;
use iron::prelude::*;
@@ -14,8 +20,10 @@ use handlers::audio_synth_handler::AudioSynthHandler;
use handlers::error_filter::ErrorFilter;
use handlers::file_server_handler::FileServerHandler;
use handlers::vocab_list_handler::VocabListHandler;
use logger::SimpleLogger;
fn main() {
SimpleLogger::init().unwrap();
start_server();
}
@@ -35,7 +43,7 @@ fn start_server() {
router.get("/", FileServerHandler::new(file_path, index));
router.get("/assets/:filename", FileServerHandler::new(file_path, index));
println!("Starting server...");
info!("Starting server...");
Iron::new(router).http("0.0.0.0:9000").unwrap();
}