LogErrorAnalyzer é uma aplicação de console .NET que analisa arquivos de log para identificar blocos de processamento com erros específicos e extrai informações relevantes desses blocos. Ele agrupa os hashes de mensagens por banco de dados inicial (RealmInicial
) e gera um arquivo de resultado contendo esses agrupamentos.
- Analisa um arquivo de log e identifica blocos de processamento.
- Detecta erros específicos dentro dos blocos.
- Extrai hashes de mensagens (
MensagemHash
) e bancos de dados iniciais (RealmInicial
) dos blocos com erros. - Agrupa os hashes por banco de dados inicial e salva os resultados em um arquivo de saída.
- .NET 6 SDK ou superior instalado. Você pode baixar o SDK do .NET aqui.
Primeiro, clone o repositório do projeto para o seu ambiente local.
bash git clone https://github.com/seu-usuario/LogErrorAnalyzer.git
cd LogErrorAnalyzer
Restaure as dependências do projeto.
dotnet restore
Compile o projeto para garantir que todos os arquivos estejam configurados corretamente. dotnet build
Para executar a aplicação, você deve fornecer o caminho para o arquivo de log e o caminho para o arquivo de saída onde os resultados serão salvos.
dotnet run -- "caminho/para/seu/logfile.log" "caminho/para/output.txt"
O arquivo de saída gerado terá os hashes agrupados pelo banco de dados inicial (RealmInicial), como mostrado no exemplo abaixo:
banco_de_dados_1
"C6232E367A58899A3CDD55E742618FF2",
"B084E28BF1CA1E9319F76289BE5ADDCC",
"40EEF17D78966AEA894B70636B61C433",
banco_de_dados_2
"C56D46BA838AC1A6E426D102F4FD9C07",
"3133553BC7E2684FE51112A1A3EE749F",
...
O projeto tem a seguinte estrutura:
LogErrorAnalyzer/
├── LogErrorAnalyzer.csproj
├── Program.cs
├── LogProcessor.cs
├── Block.cs
└── README.md
Program.cs: Contém o método principal que executa a lógica de análise de log e processamento dos resultados.
LogProcessor.cs: Classe responsável por processar o arquivo de log, identificar blocos de processamento e extrair informações relevantes.
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.