BKS.Logs 2.1.0-alpha-26s36-1-efc5961d
BKS.Logs - Biblioteca Central de Logs
Visão Geral
Este repositório é o lar da nova biblioteca centralizada de logging da Banksoft, futuramente BKS.Logs. O objetivo principal deste projeto é unificar, padronizar e modernizar a forma como os logs de aplicação e de integração são tratados em todo o nosso ecossistema de software.
O Problema Atual
Atualmente, as implementações de log estão fragmentadas e inconsistentes em múltiplas soluções:
- Lógica Duplicada: Classes como
GravaLogsão copiadas e coladas em diferentes projetos (WebAppCartao,WebAppConsig), gerando dificuldade na manutenção. - Abordagens Mistas: Coexistem múltiplos padrões de implementação, desde o
ApiServicelegado que usaStackTracepara inferir o contexto, até abordagens mais modernas comoHttpLoggingHandlerpara clientesRefiteSoapLoggingInspectorparaWCF/SOAPnoBKS.ApiCommons. - Configuração Complexa: A descoberta de regras de log e a sua aplicação variam significativamente entre as aplicações mais antigas (WebApps) e as mais novas (WebAPIs), dependendo de uma combinação de atributos, reflexão e configurações no banco de dados.
- Falta de um Padrão Único: A ausência de uma biblioteca única força os desenvolvedores a reimplementar ou a escolher entre diferentes padrões, aumentando a complexidade e a probabilidade de erros.
A Solução Proposta: BKS.Logs
A biblioteca BKS.Logs irá abstrair e consolidar as melhores práticas já desenvolvidas, fornecendo um ponto único e coeso para a instrumentação de logs.
Principais Objetivos e Funcionalidades:
- Centralização: Consolidar toda a lógica de configuração, manipulação de contexto e gravação de logs baseados em NLog em um único pacote NuGet.
- Modernização: Padronizar o uso de
DelegatingHandler(paraHttpClienteRefit) eBehaviors/Inspectors(paraWCF/SOAP) como a forma primária de registrar requisições e respostas de API, eliminando a necessidade de introspecção viaStackTrace. - Contexto Explícito: Fortalecer o uso de um serviço de contexto, como o
ApiRequestContextService, para que o fluxo de log seja explícito e desacoplado da estrutura do código chamador. - Compatibilidade e Migração: Oferecer um caminho claro para migrar as aplicações existentes, substituindo as implementações antigas (
GravaLog,ApiService) pela nova biblioteca com o mínimo de alterações de código possível. - Configuração Simplificada: Unificar o snapshot versionado das regras, evitando consulta ao banco durante cada requisição e garantindo comportamento consistente entre as aplicações.
Este projeto representa um passo importante para aumentar a manutenibilidade, reduzir a complexidade técnica e garantir que nossos logs sejam robustos e consistentes em toda a plataforma.
Arquitetura do Log API
Showing the top 20 packages that depend on BKS.Logs.
| Packages | Downloads |
|---|---|
|
BKS.ApiCommons
Package Description
|
9 |
|
BKS.Padrao
Biblioteca compartilhada com contratos, modelos e regras de negócio comuns aos produtos BankSoft.
|
9 |
|
BKS.ApiCommons
Package Description
|
8 |
|
BKS.Padrao
Biblioteca compartilhada com contratos, modelos e regras de negócio comuns aos produtos BankSoft.
|
7 |
|
BKS.Acesso
Package Description
|
7 |
|
BKS.Padrao
Biblioteca compartilhada com contratos, modelos e regras de negócio comuns aos produtos BankSoft.
|
6 |
|
BKS.Acesso
Package Description
|
6 |
|
BKS.ApiCommons
Package Description
|
5 |
|
BKS.Acesso
Package Description
|
5 |
|
BKS.Padrao
Biblioteca compartilhada com contratos, modelos e regras de negócio comuns aos produtos BankSoft.
|
5 |
|
BKS.Integracoes
Biblioteca de integração com APIs externas
|
5 |
|
BKS.ApiCommons
Package Description
|
4 |
|
BKS.Acesso
Package Description
|
4 |
.NET Standard 2.0
- BKS.Clientes (>= 5.26.0)
- NLog (>= 6.1.2)
- NLog.Database (>= 6.0.3)
- NLog.Extensions.Logging (>= 6.1.2)
- System.Text.Json (>= 9.0.14)
- System.Threading.Channels (>= 9.0.14)
| Version | Downloads | Last updated |
|---|---|---|
| 2.1.0-beta-26S36-1-383ca81d | 7 | 09/04/2026 |
| 2.1.0-alpha-26S36-2-1daf1731 | 7 | 09/01/2026 |
| 2.1.0-alpha-26S36-1-efc5961d | 4 | 09/01/2026 |
| 2.1.0-alpha-26S35-1-eb02100c | 5 | 08/28/2026 |
| 2.1.0-alpha-26S32-6-1261182f | 8 | 08/06/2026 |
| 2.1.0-alpha-26S32-5-7b93c551 | 10 | 08/05/2026 |
| 2.1.0-alpha-26S32-4-25b12456 | 9 | 08/04/2026 |
| 2.1.0-alpha-26S32-3-b86dffb3 | 2 | 08/04/2026 |
| 2.1.0-alpha-26S32-2-535392f4 | 4 | 08/04/2026 |
| 2.0.1-alpha-26S35-1-4aa0db4b | 3 | 08/28/2026 |
| 2.0.0 | 17 | 05/25/2026 |
| 2.0.0-beta--70b0 | 8 | 05/15/2026 |
| 2.0.0-alpha--5b62 | 11 | 05/15/2026 |
| 1.2.0 | 9 | 04/01/2026 |
| 1.1.0 | 25 | 02/23/2026 |
| 1.1.0-alpha-260223-170624-de8d | 9 | 03/24/2026 |
| 1.1.0-alpha-260218-165240-82c5 | 12 | 02/18/2026 |
| 1.1.0-alpha-260203-160925-223e | 18 | 02/03/2026 |
| 1.0.0 | 18 | 02/02/2026 |
| 1.0.0-alpha-260130-154707-86ed | 18 | 01/30/2026 |
| 1.0.0-alpha-260130-153822-3535 | 17 | 01/30/2026 |
| 1.0.0-alpha-260130-090110-1552 | 20 | 01/30/2026 |
| 1.0.0-alpha-260128-152019-6f76 | 17 | 01/28/2026 |
| 1.0.0-alpha-260127-100953-63c8 | 18 | 01/27/2026 |
| 0.1.0-beta-260122-110336-6af6 | 18 | 01/22/2026 |