// 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 {} async fn index() -> Result<&'static str, MyError> { let err = MyError { name: "test error" }; debug!("{}", err); Err(err) } #[actix_rt::main] async fn main() -> std::io::Result<()> { 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")? .run() .await } //