Я пытаюсь удалить некоторые зависимости журналирования и наткнулся на средство ведения журналов Castle Windsor. Тем не менее, я скептически отношусь к тому, использовать его или нет.
public class MyClass
{
public Castle.Core.Logging.ILogger Logger { get; set; }
...
}
Средство ведения журнала Windsor требует, чтобы вы предоставили свой регистратор как свойство. Это действительно хорошая практика? Мне кажется, что я почти нарушаю инкапсуляцию, потому что обычно, когда я повторно использую компонент, меня не волнует его механизм регистрации, и я обычно не хочу, чтобы он был открыт.
Если я использую настраиваемую оболочку, которая использует статический класс для создания журнала, я могу сохранить его закрытым. Например:
public class MyClass
{
private static MyCustomWrapper.ILogger Logger = LogManager.GetLogger(typeof(MyClass));
...
}
Я искал в Интернете причины, по которым мне следует использовать средство ведения журнала, но я нашел только статьи о , как его использовать, но не , почему Я должен использовать это. Я чувствую, что упускаю суть. Открытие компонента ведения журнала меня пугает.