Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2.2K
Visualizações
La plantilla de mensajes de registro no debe variar entre llamadas (CA2254) cuando solo se transmiten variables

Entiendo el concepto de esta advertencia (similar a esta pregunta ), pero ¿qué tiene de malo este código?

 private async Task LogWarningAsync(short? userCodeId, string message, params object[] args) { _logger.LogWarning(message, args); // Do something on the database... }

La advertencia:

CA2254

La plantilla del mensaje de registro no debe variar entre llamadas a 'LoggerExtensions.LogWarning(ILogger, string?, params object?[])'

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Aquí hay una discusión de otras personas que experimentan problemas similares con respecto a CA2254. Con suerte, esto se abordará en futuras versiones.

Por el momento, mi mejor solución es ignorar la advertencia.

 private async Task LogWarningToDatabaseAsync(short? userCodeId, string message, params object[] args) { #pragma warning disable CA2254 // Template should be a static expression _logger.LogWarning(message, args); #pragma warning restore CA2254 // Template should be a static expression // Do something on the database... }

La alternativa no es muy emocionante.

 private async Task LogWarningToDatabaseAsync(short? userCodeId, string message, params object[] args) { // Move to parent. //_logger.LogWarning(message, args); // Do something on the database... } private async Task SampleAsync(short? userCodeId, string aaa, string bbb) { // I'm not happy about repeating the input message every time this gets called. _logger.LogWarning("My sample message with data {aaa} and more data {bbb}", aaa, bbb); await LogWarningToDatabaseAsync(userCodeId, "My sample message with data {aaa} and more data {bbb}", aaa, bbb); }
over 4 years ago · Santiago Trujillo Relatório

0

Esto es en realidad una advertencia relevante. Al producir registros dentro de su aplicación, no debe incluir variables para construir su mensaje de registro. Por ejemplo, "Usuario 128973 conectado" no es un buen registro porque no podrá agrupar todos estos registros "conectados" para generar estadísticas. En su lugar, debe colocar el ID de usuario en un objeto separado en su objeto de registro (datos adicionales)

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda