Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 31840|Resposta: 2

[Fonte] O Spring Cloud registra todos os logs de interface de requisição no MongoDB

[Copiar link]
Publicado em 15/08/2021 21:47:53 | | | |
No desenvolvimento de microserviços, o logging é uma tarefa muito básica, gravando informações de registro de solicitações de solicitação, o que nos ajuda a resolver problemas e a reproduzir problemas. O conteúdo do log inclui o link, método de requisição, useragent, cabeçalho, IP atual da máquina de microserviços, nome da máquina de nós, ambiente em execução, IP do solicitante, consumo de tempo e outras informações.

Usando o bloqueador de filtro do framework Spring Cloud, você pode interceptar os registros de informação de requisição de todas as interfaces e persistir os registros de requisição no MongoDB.



Estrutura do log de interface

Primeiro, crie um novo objeto e defina a estrutura do log, cujo código é o seguinte:

Filtro logarítmico

Crie um novo filtro RequestLoggerFilter, herde a interface Filter e implemente o método doFilter, esse filtro tem a maior prioridade, e a prioridade do filtro pode ser definida por meio da anotação @Order.Filtra os commits de log POST/PUT (excluindo registros de commit de arquivos multipart/form-data), o código é o seguinte:

O Spring Cloud obtém o endereço IP do cliente
https://www.itsvse.com/thread-10022-1-1.html

O Spring Cloud Filter recupera o conteúdo solicitado via ContentCachingRequestWrapper
https://www.itsvse.com/thread-10030-1-1.html

Manipulador de Spring BootInterceptor interceptador
https://www.itsvse.com/thread-10001-1-1.html

Os logs persistem até o MongoDB

Para não afetar o uso normal da interface, o log da interface será inserido na fila thread-safe, o programa abrirá uma thread, a thread consumirá os dados da fila, armazenará os dados no MongoDB e usará o maven para introduzir dependências.

Tutorial de instalação mongodb 5.0.1 do CentOS 7
https://www.itsvse.com/thread-10025-1-1.html

O Linux fecha corretamente o banco de dados mongodb
https://www.itsvse.com/thread-10021-1-1.html
Para mais informações sobre mongodb, veja org.springframework.boot.autoconfigure.mongo.MongoProperties

application.yml A configuração é a seguinte:

Formato URI: nome de usuário: root, senha: aaaaaaa, endereço do banco de dados: 127.0.0.1, número da porta: 27017, nome do banco de dados: test
Por exemplo: mongodb://root:aaaaaa@127.0.0.1:27017/test

SeO nome de usuário ou senha contém um símbolo especial, então use a codificação da URL, caso contrário, um erro será reportado!

Chame MongoTemplate para persistir dados no banco de dados com o seguinte código:

(Fim)





Anterior:O OpenSSL é implantado a partir de documentos de visto para IIS e SLB
Próximo:"Substituição dinâmica" para plugins .NET
 Senhorio| Publicado em 18/11/2021 11:14:19 |
Registre o registro de respostas conforme mostrado na figura a seguir:





Publicado em 14/10/2022 15:19:47 |
Estudei, bem na hora
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com