1
0
mirror of https://github.com/actix/actix-website synced 2025-02-08 22:36:07 +01:00

41 lines
940 B
Rust
Raw Normal View History

// <logging>
2020-09-12 16:21:54 +01:00
use actix_web::{error, get, middleware::Logger, App, HttpServer, Result};
use derive_more::{Display, Error};
2020-11-27 01:10:05 +00:00
use log::debug;
2020-09-12 16:21:54 +01:00
#[derive(Debug, Display, Error)]
#[display(fmt = "my error: {}", name)]
pub struct MyError {
name: &'static str,
}
// Use default implementation for `error_response()` method
impl error::ResponseError for MyError {}
2020-09-12 16:21:54 +01:00
#[get("/")]
async fn index() -> Result<&'static str, MyError> {
let err = MyError { name: "test error" };
debug!("{}", err);
Err(err)
}
#[rustfmt::skip]
2020-09-12 16:21:54 +01:00
#[actix_web::main]
async fn main() -> std::io::Result<()> {
std::env::set_var("RUST_LOG", "my_errors=debug,actix_web=info");
std::env::set_var("RUST_BACKTRACE", "1");
env_logger::init();
HttpServer::new(|| {
let logger = Logger::default();
App::new()
.wrap(logger)
.service(index)
})
.bind("127.0.0.1:8080")?
.run()
.await
}
// </logging>