Cómo diseñar un registro del sistema
Este artículo presenta principalmente las ideas de diseño y el código de implementación del sistema de registro .NET. Los amigos que lo necesiten pueden consultarlo. El registro es obviamente un medio muy importante para ayudarlo a localizar el problema. Quería usar NLog directamente como herramienta de registro del sistema. No puedo permitirme dañarlo. Si soy un pervertido, debo decir que hay muchos factores incontrolables. Aquí te contaré cómo implementé el módulo de registro. ¿Puede publicar el diagrama de arquitectura general? Aquí divido el nivel del día en tres tipos: seguimiento, ERROR y error. El código de enumeración es el siguiente: /// resumengt; lt; /summarygt; public enum Loglevel { Track=1, Bug, Error }? Considere la escalabilidad del módulo de registro (la base de datos y el archivo se admiten aquí). Aquí están los beneficios de fin de año para todos.
El código pegado define una interfaz ILogTarget. El código es el siguiente: public interface ILogTarget { /// lt; resumengt; /// Escribir información de seguimiento /// lt /summarygt; gt; lt ;/paramgt; void WriteTrack(string LogContent); /// lt; resumengt; /// Escribir información de error /// summarygt; /// lt; /paramgt ; void WriteBug(string LogContent); /// lt; resumengt; /// Escribe información de error ///summarygt; /// lt; param name="LogContent" lt; WriteError (string LogContent); }? FileLog y DBLog son dos clases que implementan la interfaz anterior. El código real específico no se publica aquí: /// lt; resumengt; resumengt; clase pública FileLog: ILogTarget { public void WriteTrack(string LogContent) { throw new NotImplementedException(); } public void WriteBug(string LogContent) { throw new NotImplementedException() } public void WriteError(string LogContent) { throw new NotImplementedException(; ); } } El código es el siguiente: public class DBLog: ILogTarget { public void WriteTrack(string LogContent) { throw new NotImplementedException() } public void WriteBug(string LogContent) {;
throw new NotImplementedException(); } public void WriteError(string LogContent) { throw new NotImplementedException(); } } El código es el siguiente: public class SmartLog { private ILogTarget _adaptee public SmartLog(ILogTarget tragent) { this._adaptee = tragent; } public void WriteTrack(string LogContent) { _adaptee.WriteTrack(LogContent); } public void WriteBug(string LogContent) { _adaptee.WriteBug(LogContent); } public void WriteError(string LogContent) { _adaptee.WriteError(LogContent); ? Método de llamada El código es el siguiente: SmartLog log =new SmartLog (new FileLog()); log.WriteTrack("Hola palabra");