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

732
Vistas
¿Cómo desactivar Serilog?

Estamos utilizando Serilog para registrar elementos en una base de datos con un servicio de Windows, y los usuarios querían poder realizar una ejecución manual, por lo que creamos un botón (en una página web) para realizar una llamada al mismo código (como un módulo, no el servicio en sí).

Cuando agregamos el código para inicializar el registro para que el código continúe agregando a la tabla de registro de db, también registra todo el tráfico http después de eso. Entonces, después de que se ejecute este código, queremos 'apagar' el registrador que se ejecuta en el servidor web. ¿Hay una manera fácil de hacer eso?

 Log.Logger = new LoggerConfiguration() .WriteTo.MSSqlServer(ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString, "LOGS") .CreateLogger();
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Los niveles de registro se pueden modificar en tiempo de ejecución con LoggingLevelSwitch :

 var ls = new LoggingLevelSwitch(); Log.Logger = new LoggerConfiguration() .MinimumLevel.ControlledBy(ls) .WriteTo.MSSqlServer(...) .CreateLogger();

El registro estará inicialmente en el nivel de Information , puede cambiar esto a través del interruptor.

Serilog no define un nivel Off , pero puede aproximarlo con:

 ls.MinimumLevel = ((LogEventLevel) 1 + (int) LogEventLevel.Fatal);

...para desactivar el cierre de sesión.

over 4 years ago · Santiago Trujillo Denunciar

0

Esta pregunta tiene un par de años, pero estoy enfrentando un problema similar en este momento.

La forma más fácil de desactivar el registro de Serilog es creando un nuevo registrador sin sumideros . De la documentación de Serilog, Conceptos básicos de configuración:

 Log.Logger = new LoggerConfiguration().CreateLogger(); Log.Information("No one listens to me!");

Editar (05/08/2017)

La solución anterior no es correcta. Después de investigar un poco más, descubrí que esto se puede hacer configurando un filtro al configurar el registrador:

 Log.Logger = new LoggerConfiguration() .Filter.ByExcluding(_ => !IsLoggingEnabled) .WriteTo.MSSqlServer(...) .CreateLogger();

, donde IsLoggingEnabled es solo un indicador booleano.

over 4 years ago · Santiago Trujillo Denunciar

0

según la documentación de Microsoft para el registro, si establece el nivel de registro en Ninguno, se suprimirán todos los registros.

Para suprimir todos los registros, especifique LogLevel.None. LogLevel.None tiene un valor de 6, que es mayor que LogLevel.Critical (5).

Los registros por debajo del nivel mínimo no: Se pasan al proveedor. Registrado o mostrado.

puede consultar esta documentación en la sección Configurar registro. registro de asp.net core

para Serilog puede configurar

 "Serilog": { "MinimumLevel": { "Default": "6" }}

esta configuración apagará Serilog , lo pruebo en tiempo de ejecución y funcionó.

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