Estoy tratando de eliminar algunas dependencias de registro y tropecé con la instalación de registro de Castle Windsor. Sin embargo, soy bastante escéptico acerca de si debo usarlo o no.Castle windsor logging facility
public class MyClass
{
public Castle.Core.Logging.ILogger Logger { get; set; }
...
}
Las instalaciones de registro de Windsor requieren que exponga su registrador como una propiedad. ¿Es realmente una buena práctica? Siento que casi estoy rompiendo la encapsulación porque normalmente cuando reutilizo un componente, no me importa su mecanismo de registro y normalmente no quiero verlo expuesto.
Si utilizo un contenedor personalizado que utiliza una clase estática para crear el registro, puedo mantenerlo en privado. Por ejemplo:
public class MyClass
{
private static MyCustomWrapper.ILogger Logger = LogManager.GetLogger(typeof(MyClass));
...
}
He buscado en la web por razones de por qué debería utilizar la función de registro, pero yo sólo estoy encontrando artículos sobre cómo Para usarlo, pero no por eso Debería usarlo. Siento que me estoy perdiendo el punto. Tener el componente de registro expuesto me está asustando.
¿Pero no estaría ya acoplado a 'Castle.Core.Logging.ILogger'? ¿O es porque 'LogManager' es una clase estática y no puedo reemplazarlo? – Books
@ Ashley: exactamente. Hay mucho menos acoplamiento con una interfaz. –