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

597
Visualizações
Serilog en .Net: Agregar un enriquecedor personalizado a través de appSettings.json no funciona

Usando serilog, estoy tratando de agregar un enriquecedor personalizado a través de appSettings.json sin éxito.

Fui exactamente por el libro, siguiendo la documentación. También seguí una introducción no oficial como estahttps://www.ctrlaltdan.com/2018/08/14/custom-serilog-enrichers/

La introducción anterior funciona bien con los enriquecedores de nuggets (como Serilog.Enrichers.Environment, Serilog.Enrichers.Thread, etc.) pero no funciona con mi enriquecedor personalizado. Aquí está el código relevante:

 public class ClassNameEnricher: ILogEventEnricher { private string GetClassName() { StackTrace trace = new StackTrace(); bool foundFrame = false; int currentFrame = 0; while (!foundFrame) { if (trace.GetFrame(currentFrame).GetMethod().ReflectedType.FullName == typeof(Logger).FullName) { foundFrame = true; } currentFrame++; } return trace.GetFrame(currentFrame).GetMethod().ReflectedType.FullName; } public virtual void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory) { LogEventProperty className = propertyFactory.CreateProperty("ClassName", GetClassName()); logEvent.AddPropertyIfAbsent(className); } } public static class LoggerEnrichmentConfigurationExtensions { public static LoggerConfiguration WithClassName(this LoggerEnrichmentConfiguration enrich) { return enrich.With<ClassNameEnricher>(); } }

y la configuración:

ingrese la descripción de la imagen aquí

Notaré que agregar mi enrihcer en el código funciona bien. ¿Cualquier sugerencia?

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

0

Tienes que incluir el nombre de tu ensamblado en la sección "Using" .

De la documentación de Serilog

La sección de uso contiene una lista de ensamblajes en los que residen los métodos de configuración (WriteTo.File(), Enrich.WithThreadId()).

Observe en ese artículo al que se refiere, que la configuración de ensamblaje está presente:

 "Using": [ "Example.Assembly.Name" ]
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