упдг log point что это такое

Упдг log point что это такое

г. Ростов-на-Дону

Тел.: 8 (863) 256-73-79

г. Новочеркасск

Тел./факс: 8 (8635) 26-09-13

Факс: 8 (863) 256-74-79

Тел.: 8 (909) 430-52-22

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Наши преимущества

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

В наличии на складе

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Геосетка

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Геотекстиль

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Биоматы

Новости

К станице Старочеркасской строят съезд с объездной дороги Аксая

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такоеМежду губернатором Ростовской области Василием Голубевым и главой «Автодора» Вячеславом Петушенко состоялся разговор о вариантах прямого доступа с трассы Аксая на станицу Старочеркасскую.

Через пять лет завершится строительство Ростовского транспортного кольца

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такоеВ правительстве Ростовской области заявляют, что строительство транспортного кольца планируется завершить в течение пяти лет.

Новая трасса на Черное море пройдет через Саратов

К ЧМ-2018 в Ростове построят пункт досмотра грузов и транспорта

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такоеВ Ростове к чемпионату мира по футболу 2018 года построят удалённый пункт досмотра грузов и транспорта (УПДГ).

На строительство объекта из городского бюджета будет выделено 36,1 млн рублей.

Соответствующие поправки депутаты Ростовской городской Думы внесли в бюджет на 2017 год и плановый период 2018-2019 годов.

Источник

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog)

Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки 🙂

Это первая часть статьи, в которой мы собрали в одном месте информацию, которая поможет установить и настроить Graylog, плюс, расскажем почему мы остановились имено на этой платформе.

Вторая часть, которая появится совсем скоро, будет содержать примеры использования и их реализацию.

Какую задачу мы решали?

Можно долго рассуждать о важности серверных логов и привести много примеров ситуаций, в которых они жизненно необходимы, но так как речь пойдет именно о сторонней системе и ее особенностях, то выделим ряд важных моментов:

Удобно, когда все логи хранятся в одном месте.

Круто, когда есть отчеты и возможность автоматически их проанализировать.

Полезно, когда логи можно посмотреть даже при “упавшем” сервере или после того как злоумышленник “прибрался” за собой.

Бесценно, когда о возникшей ошибке в логах будет оповещение.

Сформулировали задачу так:

“Подобрать бесплатное open source решение для сбора и анализа логов, не перегруженное функционалом, производительное, простое в установке и использовании.”

Почему Graylog?

Это не единственная и, возможно, далеко не самая лучшая платформа, но она широко распространена, прошла проверку временем и все еще поддерживается разработчиками.

Но, начать мы решили с анализа “конкурентов”.

Альтернативы

Splunk

Классный, модный, современный Splunk соответствует подавляющему большинству потребностей и скорее всего, может даже больше.

Но есть три момента, которые не понравились:

В нужной конфигурации решение платное.

Это закрытое решение.

Компания, без объяснений причин покинула рынок РФ.

Но, если вас это не смущает, немного полезной информации по платформе:

С этим “претендентом” не получилось, идем дальше.

Например, тут и тут его часто сравнивают с ELK, который и рассмотрим.

Что же пошло не так?

Некоторые фишки все же платные, например, уведомления и контроль доступа (однако, после некоторых событий часть данного функционала стала бесплатной).

Систему сложно настроить, “из коробки” она работать не будет.

Еще нужно упомянуть Open Distro, которая развивается на базе ELK, но полностью бесплатная, что не отменяет ресурсоемкость и сложность в настройке.

Немного полезной информации:

Инструкция по установке и настройке (eng).

Остановились на Graylog

Это open source решение.

Бесплатная версия имеет все необходимое.

Функционал небольшой, что удобно, ничего лишнего (для наших задач).

“Из коробки” решение уже работает, нужны минимальные настройки.

По сравнению с ELK ресурсоемкость значительно ниже.

Далее, мы предлагаем лонгрид по настройке и установке Graylog.

Установка и базовые настройки Graylog

В примере используем CentOS 8.

Prerequisites

Обновления обязательны, также установим пакеты для удобства работы, top-ы, etc.

смотрим где лежат сертификаты (пока самоподписанные)

кладём crt и key файлы в /etc/cockpit/ws-certs.d/

Firewall

(настройки будут индивидуальными для вашей сети, все команды даны для примера)

Кокпит должен быть доступен только админам, снаружи ему делать нечего. Создадим зону для интранета и добавим нужные адреса подсетей:

После добавления/удаления перезагрузим сервис:

Проконтролируем, что все правила верные:

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

SELinux

(настраиваем, а не отключаем его. )

Устанавливаем пакеты, если ещё не установлены, разрешаем апачу подключения:

Проверяем порты 9000, 9200, 27017:

Elastic Search

Импортируем ключ репозитория, добавляем конфигурационный файл репозитория, устанавливаем (вместо vim можно использовать nano, mcedit или любой другой редактор по вашему выбору):

Чтобы Elasticsearch работал с Graylog, необходимо установим имя кластера “graylog”:

Запускается довольно долго, в зависимости от конфигурации сервера или виртуальной машины. Проверяем:

Файлы Elasticsearch расположены здесь:

MongoDB

Добавляем конфигурационный файл репозитория:

Файлы MongoDB расположены здесь:

Graylog

Ссылки на оригинальную документацию:

Graylog не запускается самостоятельно (об этом есть сообщение в процессе установки).

Сначала настраиваем, потом пробуем запускать.

Генерируем хеш пароля:

Параметры эластика только для первого запуска, дальше конфигурация будет производиться уже из веб-интерфейса грейлога:

Также полезно будет настроить Email transport:

Download files → В секции GeoLite2 City → Get Permalinks (1, 2)

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

В Services → Manage License Keys (3)

Нажимаем «Generate new license key» создастся новый License Key. На email придёт уведомление о создании ключа.

Лицензия активируется в течение 5 минут.

Подставляем в ссылки, полученные на первом шаге ключ, полученный на втором шаге, загружаем файл с базой и файл контрольной суммы:

Проверяем целостность архива:

Установка GeoLite2 Database выполнена.

Немного ждём, затем смотрим логи запуска:

Возникают из-за того что установлена версия Enterprise, но нет соответствующей лицензии.

Заходим браузером, проверяем что веб-интерфейс доступен, можем залогиниться в веб-интерфейс:

Нас встречает мини-учебник по настройке:

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

NGINX

Создаём конфиг nginx, размещаем файлы сертификатов в /etc/nginx/ssl (у нас будут в одном файле сертификат + ключ):

Если получили ошибку:

То это из-за SELinux. Исправляем:

Немного реконфигурим Graylog:

Теперь Graylog слушает только на локалхосте, если открывали порт 9000, то необходимости в нём больше нет:

Размер БД

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Установим размер индекса, так как виртуальный сервер имеет ограниченный объём диска.

System → Indices → Default index set → Edit

В Index Rotation Configuration:

В Index Retention Configuration:

Итого общий размер индексов будет не более 32GiB

Подведем итоги

Если вы дочитали и все еще с нами, то на этом закончим первую часть, где мы разобрали чем нам приглянулся Graylog и как можно его установить / настроить.

Надеемся, что наш опыт будет вам полезен.

Вопросы в комментариях приветствуются 🙂

Во второй части мы расскажем, как используя Graylog можно собирать системные логи и логи веб-сервера.

Дата-центр ITSOFT — размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Источник

Что такое логирование?

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Известно, что программисты проводят много времени, отлаживая свои программы, пытаясь разобраться, почему они не работают — или работают неправильно. Когда говорят про отладку, обычно подразумевают либо отладочную печать, либо использование специальных программ – дебагеров. С их помощью отслеживается выполнение кода по шагам, во время которого видно, как меняется содержимое переменных. Эти способы хорошо работают в небольших программах, но в реальных приложениях быстро становятся неэффективными.

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Сложность реальных приложений

Возьмем для примера типичный сайт. Что он в себя включает?

И это только самый простой случай. Реальность же значительно сложнее: множество разноплановых серверов, системы кеширования (ускорения доступа), асинхронный код, очереди, внешние сервисы, облачные сервисы. Все это выглядит как многослойный пирог, внутри которого где-то работает нами написанный код. И этот код составляет лишь небольшую часть всего происходящего. Как в такой ситуации понять, на каком этапе был сбой, или все пошло не по плану? Для этого, как минимум, нужно определить, в каком слое произошла ошибка. Но даже это не самое сложное. Об ошибках в работающем приложении узнают не сразу, а уже потом, — когда ошибка случилась и, иногда, больше не воспроизводится.

Логирование

И для всего этого многообразия систем существует единое решение — логирование. В простейшем случае логирование сводится к файлу на диске, куда разные программы записывают (логируют) свои действия во время работы. Такой файл называют логом или журналом. Как правило, внутри лога одна строчка соответствует одному действию.

Выше небольшой кусок лога веб-сервера Хекслета. Из него видно ip-адрес, с которого выполнялся запрос на страницу и какие ресурсы загружались, метод HTTP, ответ бекенда (кода) и размер тела ответа в HTTP. Очень важно наличие даты. Благодаря ей всегда можно найти лог за конкретный период, например на то время, когда возникла ошибка. Для этого логи грепают:

Когда программисты только начинают свой путь, они, часто не зная причину ошибки, опускают руки и говорят «я не знаю, что случилось, и что делать». Опытный же разработчик всегда первым делом говорит «а что в логах?». Анализировать логи — один из базовых навыков в разработке. В любой непонятной ситуации нужно смотреть логи. Логи пишут все программы без исключения, но делают это по-разному и в разные места. Чтобы точно узнать, куда и как, нужно идти в документацию конкретной программы и читать соответствующий раздел документации. Вот несколько примеров:

Многие программы логируют прямо в консоль, например Webpack показывает процесс и результаты сборки:

Во фронтенде файлов нет, поэтому логируют либо прямо в консоль, либо к себе в бекенды (что сложно), либо в специализированные сервисы, такие как LogRocket.

Уровни логирования

Чем больше информации выводится в логах, тем лучше и проще отладка, но когда данных слишком много, то в них тяжело искать нужное. В особо сложных случаях логи могут генерироваться с огромной скоростью и в гигантских размерах. Работать в такой ситуации нелегко. Чтобы как-то сгладить ситуацию, системы логирования вводят разные уровни. Обычно это:

Поддержка уровней осуществляется двумя способами. Во-первых, внутри самой программы расставляют вызовы библиотеки логирования в соответствии с уровнями. Если произошла ошибка, то логируем как error, если это отладочная информация, которая не нужна в обычной ситуации, то уровень debug.

Во-вторых, во время запуска программы указывается уровень логирования, необходимый в конкретной ситуации. По умолчанию используется уровень info, который используется для описания каких-то ключевых и важных вещей. При таком уровне будут выводиться и warning, и error. Если поставить уровень error, то будут выводиться только ошибки. А если debug, то мы получим лог, максимально наполненный данными. Обычно debug приводит к многократному росту выводимой информации.

Уровни логирования, обычно, выставляются через переменную окружения во время запуска программы. Например, так:

Существует и другой подход, основанный не на уровнях, а на пространствах имен. Этот подход получил широкое распространение в JS-среде, и является там основным. Фактически, он построен вокруг одной единственной библиотеки debug для логирования, которой пронизаны практически все JavaScript-библиотеки как на фронтенде, так и на бекенде.

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Принцип работы здесь такой. Под нужную ситуацию создается специализированная функция логирования с указанием пространства имен, которая затем используется для всех событий одного процесса. В итоге библиотека позволяет легко отфильтровать только нужные записи, соответствующие нужному пространству.

Запуск с нужным пространством:

упдг log point что это такое. Смотреть фото упдг log point что это такое. Смотреть картинку упдг log point что это такое. Картинка про упдг log point что это такое. Фото упдг log point что это такое

Ротация логов

Со временем количество логов становится большим, и с ними нужно что-то делать. Для этого используется ротация логов. Иногда за это отвечает сама программа, но чаще — внешнее приложение, задачей которого является чистка. Эта программа по необходимости разбивает логи на более мелкие файлы, сжимает, перемещает и, если нужно, удаляет. Подобная система встроена в любую операционную систему для работы с логами самой системы и внешних программ, которые могут встраиваться в нее.

С веб-сайтами все еще сложнее. Даже на небольших проектах используется несколько серверов, на каждом из которых свои логи. А в крупных проектах тысячи серверов. Для управления такими системы созданы специализированные программы, которые следят за логами на всех машинах, скачивают их, складывают в заточенные под логи базы данных и предоставляют удобный способ поиска по ним.

Здесь тоже есть несколько путей. Можно воспользоваться готовыми решениями, такими как DataDog Logging, либо устанавливать и настраивать все самостоятельно через, например, ELK Stack

Источник

Лог: что это, зачем нужен и где его найти?

Зачем нужны лог файлы?

В некоторых ситуациях каждому пользователю ПК или сервера требуется проверить логи. Рассмотрим зачем именно нужны лог файлы.

1. Логи могут понадобится, если нужно узнать статистику по сайту. Например, логи сайтов отображают следующую информацию:

а) статистику посещаемости

б) точки входа и выхода с сайта

в) поисковые запросы, по которым приходят посетители, и наиболее популярные страницы сайта

г) поисковики, страны и браузеры посетителей

д) уровень конверсии и страницы сайта, которые никто не посещает

е) сайты, которые ссылаются на этот ресурс.

2. В случае вирусов или Дддос атаки на сайт, логи помогут быстрее выяснить причину и соответственно помочь устранить ее.

3. Для восстановления доступов испольузются логи авторизации, которые собирают данные о попытках входа.

4. В случае ошибок в работе определенного ПО, устройства или ОС, когда необходимо определить источник проблемы.

Логи (server logs) помогают контролировать работу серверной машины и в случае возникновения ошибок быстро их находить и устранять. Логи используются практически везде, где ведется запись и прослеживание истории программного процесса. В первую очередь это необходимо в целях безопасности. Для того, чтобы найти и проанализировать логи, используют специально предназначенное для этого ПО. Некоторые логи могут обладать очень большим размером, поэтому время от времени их нужно очищать. Лог файл показывает события и его непосредственный источник. Причиной события может быть:

Какие есть виды логов?

На практике видов логов может быть несколько. Рассмотрим каждый из них.

Как найти логи?

Место, где находятся логи зависит от используемого ПО, заданных настроек и пути, который заведомо установил администратор сервера.

Если вам нужно найти лог файлы сервера или хостинга, вы можете обратится и получить подробную консультацию у вашего хостинг-провайдера, где размещается ваш сайт.

Названия файлов: журнал ошибок – error.log; журнал доступов – log; основной журнал – syslog; журнал загрузки системы – dmesg.

В ОС Windows свой способ структуризации логов, в котором выделяют уровни событий: подробности; сведения; предупреждение; ошибка; критический. Пользователь может сортировать и фильтровать записи, в зависимости от того, что именно ему нужно.

Что делать с логами?

Лог файлы могут понадобится во многих ситуациях при работе с сайтов, ПК или сервером. Но обратите внимания, что логи не хранятся вечно, поэтому если появилась необходимость проверить их, то следует это делать своевременно. Например, часто хостинг-провайдеры хранят логи до 14 дней, а далее они удаляются и записываются новые. Поэтому если ваш сайт взломали более нескольких недель назад, то установить причину по логам не получится, если логи уже удалены.

Даже беглый анализ логов может помочь выяснить причины чрезмерной нагрузки на сайт, поэтому если вам нужна помощь, чтобы разобраться с логами и исправить возникшие ошибки работы сервера, обращайтесь в техническую поддержку ГиперХост.

Включение и выключение записей логов на сервере происходит в панели управления. В большинстве случаев эта функция доступна в разделе панели Журнал или Логи. Более детально об этом вы можете уточнить непосредственно у вашего хостера.

Источник

Архитектура логирования

Мой опыт разработки в основном строится вокруг разнообразных сетевых cервисов под Windows и Linux. Я обычно стремлюсь добиться максимальной кроссплатформенности вплоть до бинарной совместимости. И конечно, накопилось некоторое количество стабильных решений связанных с логированием.

Топик написан как продолжение к этой статье и будет полезен в первую очередь начинающим программистам.

Итак, начну со своих дополнений к предыдущей статье.
Я как и автор пользуюсь NLog’ом и разумеется широко использую его особенности. Конечно, после
их реализации в любом другом логгере, нижеописанную практику можно применять и у них.

Кстати, log4net продолжает развиваться.

Под капотом NLog

Сразу обсудим полезность второй фичи.

Часто, при разработке кода, возникает необходимость посмотреть значение какой либо переменной в процессе выполнения. Обычно, используют дебаггер и останавливают программу в интересующем месте. Для меня же, это явный признак, что этом месте будет полезен Trace вывод. В комплекте с юнит-тестами мы сразу получаем развертку этой переменной во времени и протокол для сравнения с тестами в других условиях. Таким образом, дебаггером я практически не пользуюсь.

Очевидно, что в боевом применении, даже выключенное подробное логирование, может мешать как скорости выполнения так и параллельности.

Исходный код класса можно посмотреть тут.

Отлично! Для NLog можно быть уверенным, что ваши сколь угодно детальные сообщения могут быть отключены и это минимально скажется на производительности. Но, это не повод посвящать логированию половину кода.

Что и как логировать

Следует придерживаться правил:

В целом, при выводе в лог, всегда отмечайте, то количество потенциально лишних вычислений, которые потребуются для случая когда лог отключен.

Простой пример (фрагмент некоторого класса):

private static Logger Log = LogManager. GetCurrentClassLogger ( ) ;

public string Request ( string cmd, string getParams )

Uri uri = new Uri ( _baseUri, cmd + «?» + getParams ) ;

HttpWebRequest webReq = ( HttpWebRequest ) WebRequest. Create ( uri ) ;

webReq. Method = «GET» ;

webReq. Timeout = _to ;

using ( WebResponse resp = webReq. GetResponse ( ) )

using ( Stream respS = resp. GetResponseStream ( ) )

using ( StreamReader sr = new StreamReader ( respS ) )

page = sr. ReadToEnd ( ) ;

catch ( Exception err )

Все аргументы логирования требовались для логики. Сообщение Debug отмечает аргументы с которыми мы пришли в функцию. В обработчике ошибки мы дублируем входные параметры на случай отключения Debug уровня. А это уже даст информацию при необходимости написать юнит-тест. Стек исключения не выводим, так как остается возможность сделать это вышестоящим обработчиком.

Вообще, в текущем обработчике ошибок полезно детализировать контекст который к привел к исключению и специфичные особенности исключения. В примере было бы полезно вывести поле Status для случая WebException.

Гарантии сохранности лога

Несмотря на некоторые возможности NLog по авто записи логов, нет гарантии сохранности лога при завершении процесса.

Первое, что следует сделать, это обработать событие AppDomain.UnhandledException. В нем следует записать в лог полную информацию об ошибке и вызвать LogManager.Flush(). Обработчик этого события использует тот же поток, который и вызвал исключение, а по окончании, немедленно выгружает приложение.

private static readonly Logger Log = LogManager. GetCurrentClassLogger ( ) ;

public static void Main ( string [ ] args )

static void OnUnhandledException ( object sender, UnhandledExceptionEventArgs e )

Кроме того, следует вызывать LogManager.Flush() везде, где потенциально возможно завершение процесса. В конце всех не фоновых потоков.

Если ваше приложение представляет собой win-service или Asp.Net, то следует обработать соответствующие события начала и завершения кода.

Сколько логировать

Серьезная проблема для разработчика. Всегда хочется получать больше информации, но код начинает выглядеть очень плохо. Я руководствуюсь следующими соображениями.

Вывод в лог это по сути комментарий. Логирование уровня Trace по большей части их и заменяет.
Уровни Trace и Debug читают разработчики, а все что выше — техподдержка и админы. Поэтому до уровня Info сообщения должны точно отвечать на вопросы: «Что произошло?», «Почему?» и по возможности «Как исправить?». Особенно это касается ошибок в файлах конфигурации.

Боевое развертывание

Предположим, разработка дошла до внедрения.
Отложим вопросы ротации логов, размера файлов и глубины истории. Это все очень специфично для каждого проекта и настраивается в зависимости от реальной работы сервиса.

Остановлюсь только на смысловой организации файлов. Их следует разделить на 3 группы. Может потребуется развести логи модулей в разные файлы, но дальше я все равно буду говорить об одном файле для каждой группы.

Если приложение успешно внедрено, то в работе остаются только первые две группы.

Расследование сбоев

Когда работающий сервис подает признаки ошибки, то не следует его пытаться сразу перезагружать. Возможно нам «повезло» поймать ошибки связанные с неверной синхронизацией потоков. И не известно сколько в следующий раз ждать ее повторения.
В первую очередь следует подключить заготовленные заранее конфиги для группы наблюдения. Как раз это и должен позволять делать приличный логгер. Когда мы получили подтверждение о том, что новая конфигурация успешно применена, то пытаемся опять спровоцировать сбой. Желательно несколько раз. Это обеспечит возможность для его воспроизведения в «лабораторных» условиях. Дальше уже работа программистов. А пока можно и перезагрузиться.

name = «fileInfo» type = «AsyncWrapper» queueLimit = «5000» overflowAction = «Block» >

type = «File» fileName = «$/logs/info.log» />

name = «fileWarn» type = «AsyncWrapper» queueLimit = «5000» overflowAction = «Block» >

type = «File» fileName = «$/logs/warn.log» />

name = «*» minlevel = «Info» writeTo = «fileInfo» />

name = «*» minlevel = «Warn» writeTo = «fileWarn» />

При настройке фильтров следует учитывать относительность уровней логирования для каждой из подсистем. Например, некоторый модуль, имея Info сообщение об инициализации, может быть создан для каждого подключенного пользователя. Разумеется, его вывод в Info группу следует ограничить уровнем Warn.

Чего с логгером делать не следует

Логгер должен быть простым и надежным как молоток. И у него должна быть четко очерчена область применения в конкретном проекте. К сожалению, разработчиков часто трудно удержать. Паттерны проектирования, это в основном полезно, но не этом случае. Достаточно часто стал замечать предложения выделить для логгера обобщенный интерфейс (пример) или реализовать обертку в проекте, чтобы отложить муки выбора NLog vs log4net на потом.

Что бы ни было тому причиной, надо точно помнить, что в первую очередь, такие удобства напрочь убивают компилятору возможность оптимизации.

Не стоит напрямую выводить информацию логгера пользователю, даже с фильтрами. Проблема в том, что эта информация зависит от внутренней структуры программы. Вряд ли вы в процессе рефакторинга пытаетесь сохранить вывод логгера. Наверное, здесь стоит просто задуматься и разделить функционал. Возможно, в проекте просто требуется еще один уровень логирования. В этом случае как раз и уместна будет обертка над логгером.

Чего же мне еще не хватает в NLog?
NLog, Log4Net, Enterprise Library, SmartInspect.

Разнообразные сравнения логгеров между собой, упускают одну важную деталь.
Важно сравнивать не только ограничения/возможности, но и возможность быстро добавить свои «хотелки».

Поэтому, буду пока дружить с NLog.
Чего и Вам желаю.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *