Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

2.2K
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda