// use actix_web::{error, Result}; use failure::Fail; use log::debug; #[derive(Fail, Debug)] #[fail(display = "my error")] pub struct MyError { name: &'static str, } // Use default implementation for `error_response()` method impl error::ResponseError for MyError {} pub fn index() -> Result<&'static str, MyError> { let err = MyError { name: "test error" }; debug!("{}", err); Err(err) } pub fn main() { use actix_web::{middleware::Logger, web, App, HttpServer}; std::env::set_var("RUST_LOG", "my_errors=debug,actix_web=info"); std::env::set_var("RUST_BACKTRACE", "1"); env_logger::init(); HttpServer::new(|| { App::new() .wrap(Logger::default()) .route("/", web::get().to(index)) }) .bind("127.0.0.1:8088") .unwrap() .run() .unwrap(); } //