Middleware de Registro (Log)
O registro de logs desempenha um papel crucial em aplicações web, permitindo:
- Fornecer detalhes sobre o processamento de requisições, auxiliando desenvolvedores a rastrear comportamentos do aplicativo
- Facilitar a identificação e depuração de problemas, especialmente em ambientes de produção
- Monitorar desempenho do aplicativo e uso de recursos
- Registrar padrões de acesso de usuários e exceções do sistema
- Atender a requisitos de auditoria de segurança e conformidade
O Salvo oferece um middleware básico para funcionalidades de Log. Se o middleware for adicionado diretamente a um Router
, ele não conseguirá capturar erros 404 retornados quando nenhuma rota for encontrada. Recomenda-se adicioná-lo ao Service
.
Código de Exemplo
logging/src/main.rs
use salvo::logging::Logger;
use salvo::prelude::*;
#[handler]
async fn hello() -> &'static str {
"Hello World"
}
#[tokio::main]
async fn main() {
tracing_subscriber::fmt().init();
let router = Router::new().get(hello);
let service = Service::new(router).hoop(Logger::new());
let acceptor = TcpListener::new("0.0.0.0:5800").bind().await;
Server::new(acceptor).serve(service).await;
}