Какова наилучшая практика использования log4net в многопроектном решении. Я устанавливаю log4net Nuget для каждого проекта? Я там способ создать регистратор в инфраструктуре, которая использует log4net? Буду признателен за любые идеи.Использование log4net в решении нескольких проектов
ответ
Лично я предпочитаю вводить мои регистраторы через контейнер IoC. Вы можете, но вам это не нужно.
Просто создайте интерфейс для ваших нужд ведения журнала и поместите его в проект, в котором есть ссылки на все ваши проекты. (т. е. Core)
И теперь вы можете написать реализацию для каждой библиотеки журналов, которую вы хотите, и при необходимости переключить. Но я никогда не видел проект, в котором мы меняем инфраструктуру регистрации.
My Nlog logger для интерфейса ILogger выше.
using System;
using NLog;
namespace Tvinio.Core.Logging.NLog
{
public class NLogger : ILogger
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public void Trace(string message)
{
Logger.Trace(message);
}
public void Trace(string format, params object[] args)
{
Logger.Trace(format, args);
}
public void Info(string message)
{
Logger.Info(message);
}
public void Error(string message)
{
Logger.Error(message);
}
public void Error(string message, Exception exception)
{
Logger.Error(exception, message);
}
public void Error(Exception exception)
{
Logger.Error(exception);
}
}
}
Теперь, если вы просто создать реализацию для вашего log4net регистратора и инициализировать экземпляр этого, Visual Studio будет нести ссылки на вас на все ссылочный проект, если они используют эту реализацию.
Кроме того, я настоятельно рекомендую также прочитать об инъекции зависимостей. Вы можете найти статью здесь. http://martinfowler.com/articles/injection.html
- 1. Установка нескольких проектов log4net
- 2. log4net и несколько стартовых проектов в решении
- 3. Журнал из нескольких проектов в одном решении
- 4. Поделиться конфигурацией log4net для нескольких проектов
- 5. Присоединение нескольких проектов в одном решении
- 6. Как использовать NLog из нескольких проектов в одном решении
- 7. Использование нескольких логгеров log4net
- 8. Тестирование проектов в решении
- 9. Сортировка проектов в решении
- 10. Использование нескольких проектов python
- 11. Общие настройки файла для нескольких проектов в решении
- 12. объединение нескольких проектов в один проект в решении
- 13. Visual Studio: Создание нескольких проектов в одном решении?
- 14. Потребляют же службу WCF из нескольких проектов в решении
- 15. Где хранятся настройки для нескольких проектов запуска в сохраненном решении?
- 16. Ссылка на файлы ресурсов из нескольких проектов в решении
- 17. Создание одного пакета NuGet из нескольких проектов в одном решении
- 18. Добавить цель AfterBuild для нескольких проектов в решении
- 19. VS.net версия для нескольких проектов в одном решении
- 20. Как создать единый пакет nuget для нескольких проектов в решении
- 21. ошибка LNK2019: нерешенный внешний символ в решении нескольких проектов
- 22. Использование memcached для нескольких проектов
- 23. Несколько веб-проектов в одном решении
- 24. доступ ResourceDictionary для разных проектов в решении
- 25. log4net logging UnhandledException исключения из разных проектов
- 26. Реализация одного конфигурационного файла log4net для нескольких проектов
- 27. Перенаправление в несколько проектов в одном решении
- 28. Несколько проектов тестирования модулей Silverlight в решении
- 29. Как выбрать название для проектов в решении?
- 30. членство asp.net для двух проектов в решении