visual limpiar como c# .net logging nlog

c# - visual - como limpiar un label en java



Agregar/eliminar archivos de registro durante el tiempo de ejecuciĆ³n en NLog (1)

El segundo post en este hilo me llevó a la solución: http://nlog-project.org/forum.html#nabble-td1685349

Debe obtener la configuración actual de NLog, realizar cambios en este objeto LoggingConfiguration y luego volver a asignarlo a LogManager.Configuration.

Este es el código que utilicé:

LoggingConfiguration config = LogManager.Configuration; var logFile = new FileTarget(); config.AddTarget("file", logFile); logFile.FileName = fileName + ".log"; logFile.Layout = "${date} | ${message}"; var rule = new LoggingRule("*", LogLevel.Info, logFile); config.LoggingRules.Add(rule); LogManager.Configuration = config; logger.Info("File converted!");

Estoy escribiendo una pequeña utilidad de conversión de archivos. Los archivos se convierten automáticamente cuando se colocan en un directorio.

Estoy usando NLog para el registro. Además de un archivo de registro central configurado con NLog.conf (y que recibe todos los mensajes generados), me gustaría crear un archivo de registro adicional para cada archivo de entrada, que tenga un nombre similar y contenga todos los mensajes de registro escritos durante el proceso de conversión .

Desafortunadamente, parece que no puedo descubrir cómo agregar correctamente un nuevo destino de archivo junto con la regla adecuada durante el tiempo de ejecución. Quiero que todos los objetos del registrador escriban en el nuevo archivo de registro durante el proceso de conversión.

Probé algo como

var logfile = new NLog.Targets.FileTarget(); logfile.FileName = fileName + ".log"; logfile.KeepFileOpen = true; logfile.Initialize(); var rule = new NLog.Config.LoggingRule("*", logfile); NLog.LogManager.Configuration.LoggingRules.Add(rule); NLog.LogManager.ReconfigExistingLoggers(); // // Proceed with converting file // logfile.Flush(); NLog.LogManager.Configuration.LoggingRules.Remove(rule); NLog.LogManager.ReconfigExistingLoggers();

Pero no se creó ningún archivo de registro.

¿Qué me equivoqué? ¿Alguna idea?