powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / кто использует Nlog
63 сообщений из 63, показаны все 3 страниц
кто использует Nlog
    #37372335
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Поделтесь опытом использования Nlog - как ведет себя с логом при доступе к одному файлу нескольких процессов!
...
Рейтинг: 0 / 0
кто использует Nlog
    #37372422
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanДобрый день!
Поделтесь опытом использования Nlog - как ведет себя с логом при доступе к одному файлу нескольких процессов!

я использую log4net. все ок.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37372482
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhnetivanДобрый день!
Поделтесь опытом использования Nlog - как ведет себя с логом при доступе к одному файлу нескольких процессов!

я использую log4net. все ок.

а у меня log4net по умолчанию конфликтует с доступом к одному файлу ))
нужно дополнительно прописывать <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

Думаю, и в NLog есть что-то похожее, например concurrentWrites="true"
...
Рейтинг: 0 / 0
кто использует Nlog
    #37372485
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Winnipuhпропущено...


я использую log4net. все ок.

а у меня log4net по умолчанию конфликтует с доступом к одному файлу ))
нужно дополнительно прописывать <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

Думаю, и в NLog есть что-то похожее, например concurrentWrites="true"
я создавал уже тему по поводу log4net, увы он плохо справляется с многопроцессным доступом к файлу. "log4net.Appender.FileAppender+MinimalLock" не спасает, постоянно появляются ошибки типа процесс не может получить доступ к логу и тд, поэтому и задумался о Nlog.Пока что результат тот же =\
...
Рейтинг: 0 / 0
кто использует Nlog
    #37372982
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тестирую сейчас Nlog, все же с мульти процессностью у него лучше чем у log4net.Во всяком случае такой паттерн создания лога показал себя на отлично:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true">
  <targets>
    <target name="file"  xsi:type="File" fileName="${basedir}\log\log.${date:format=yyyyMMdd}" layout="${time} = ${message}${exception:format=tostring}" keepFileOpen="true" networkWrites="false" concurrentWrites="true" />
  </targets>
  <rules>
        <logger name="*" writeTo="file" />
  </rules>
</nlog>
...
Рейтинг: 0 / 0
кто использует Nlog
    #37373270
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
продолжаю разговор сам с собой, но вдруг кому-то понадобится. Для веб приложения, который работает от разных хостов следующий конфиг: ( 5 минут - полет нормальный =) )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true" internalLogFile="internalfile.txt">
  <targets>
    <target name="file"  xsi:type="File" fileName="${basedir}\log\Log.${date:format=yyyyMMdd}"
            layout="${time} ${message}${exception:format=tostring} "
            keepFileOpen="true" networkWrites="true" concurrentWrites="true" />
  </targets>
  <rules>
    <logger name="*" writeTo="file" />
  </rules>
</nlog>
...
Рейтинг: 0 / 0
кто использует Nlog
    #37373307
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем разным web-приложениям писать в один лог?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37373384
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79А зачем разным web-приложениям писать в один лог?
приложение одно, в IISe 2 адреса ссылают на одно приложение, поэтому получается 2 процесса на один файл. Зачем - "исторически сложилось"
...
Рейтинг: 0 / 0
кто использует Nlog
    #37373446
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanArm79А зачем разным web-приложениям писать в один лог?
приложение одно, в IISe 2 адреса ссылают на одно приложение, поэтому получается 2 процесса на один файл. Зачем - "исторически сложилось"

Странно. Каждое web-приложение имеет свой Web.config. Что мешает в нем прописать уникальное имя файла? Это же никак не приведет к изменению архитектуры?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37374218
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не писать в БД? Вопросы по многопроцессности отпали бы сами собой.
P.S. А для ASP.NET вообще есть родной health monitoring.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37374847
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79netivanпропущено...

приложение одно, в IISe 2 адреса ссылают на одно приложение, поэтому получается 2 процесса на один файл. Зачем - "исторически сложилось"

Странно. Каждое web-приложение имеет свой Web.config. Что мешает в нем прописать уникальное имя файла? Это же никак не приведет к изменению архитектуры? Да можно , дело не в этом. Надо именно один файл, понимаете приложение -то одно, а используется как https/адрес1 и https/адрес2 =)
МСУ нахрена базу таким г засорять? С файлами куда удобнее записал = заархивировал и тд.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37374860
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan МСУ нахрена базу таким г засорять? С файлами куда удобнее записал = заархивировал и тд.
С таким же успехом я могу сказать - зачем файловую систему засорять?
Во-вторых, плюс БД - транзакционность и отказоустойчивость.
В-третьих, если инфа - это "г", то зачем тогда логировать?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37374863
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan С файлами куда удобнее записал = заархивировал и тд.
Оно и видно как удобно, аж с 29 июля. Особенно потом, когда надо статистику брать будет.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375012
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ken@tnetivan С файлами куда удобнее записал = заархивировал и тд.
Оно и видно как удобно, аж с 29 июля. Особенно потом, когда надо статистику брать будет.
статистику по логам брать точно не надо будет. А от логирования в БД отказались, ибо когда очередь на запись вырастает до очень очень больших высот база начинает плохо себя вести. Вы часто запросы к веб приложению логируете в БД?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375017
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivan МСУ нахрена базу таким г засорять? С файлами куда удобнее записал = заархивировал и тд.
С таким же успехом я могу сказать - зачем файловую систему засорять?
Во-вторых, плюс БД - транзакционность и отказоустойчивость.
В-третьих, если инфа - это "г", то зачем тогда логировать?Скажем так, эта инфа может понадобиться. Пускай и не очень часто.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375063
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot netivan]Ken@tпропущено...

Вы часто запросы к веб приложению логируете в БД?
WPF \WinForm приложения при тестровании всегда включается трассировка, иногда в продуктиве включаем трассировку. В совокупности с трассировкой на сервере - очень полезно.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375513
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanСкажем так, эта инфа может понадобиться. Пускай и не очень часто.
БД - то, что доктор прописал. Особенно для веб-приложений. Создать отдельную базу данных под логи религия запрещает?
В основную БД не логируем, ибо бекапы.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375524
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanСкажем так, эта инфа может понадобиться. Пускай и не очень часто.
БД - то, что доктор прописал. Особенно для веб-приложений. Создать отдельную базу данных под логи религия запрещает?
В основную БД не логируем, ибо бекапы.Какая разница отдельная база или нет, если она на одном дисковом массиве. Тему можно закрывать, используйте NLOG и все будет хорошо.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375570
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУпропущено...

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

маленькое дополнение: вместо явной орентации на средство логирования имеет смысл использовать фреймворк Common Logging. А уж в конфиге прописать что нужно - log4net, nlog, Enterprise Library.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375583
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanКакая разница отдельная база или нет, если она на одном дисковом массиве.
Включаем голову = бэкапы быстрее будут отрабатывать.

Боевая база - 100 Гб
База под логи - 1 Тб

Комментарии требуются?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375637
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanКакая разница отдельная база или нет, если она на одном дисковом массиве.
Включаем голову = бэкапы быстрее будут отрабатывать.

Боевая база - 100 Гб
База под логи - 1 Тб

Комментарии требуются?проблема не в размере. Тему закрывайте.
Arm79 - попробую найти что за фрейм под логи :).
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanпроблема не в размере. Тему закрывайте.
Arm79 - попробую найти что за фрейм под логи :).
Вы суть-то уловили, почему лучше логировать в отдельную базу или еще раз дать пояснения?
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375648
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanпроблема не в размере. Тему закрывайте.
Arm79 - попробую найти что за фрейм под логи :).
Вы суть-то уловили, почему лучше логировать в отдельную базу или еще раз дать пояснения? МСУ, я не нуждался в этих пояснениях как ты не поймешь.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375668
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan,

http://sourceforge.net/projects/netcommon/

вот мой пример App.config:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>
  
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
        <arg key="configType" value="FILE-WATCH" />
        <arg key="configFile" value=".\log4net.config" />
      </factoryAdapter>
    </logging>
  </common> 

В программе пишу так:
Код: plaintext
fLogger.Debug(m => m("{0}...", ...));

Это аналогично старому стилю:
Код: plaintext
1.
if (fLogger.IsDebugEnabled)
  fLogger.DebugFormat("{0}...", ...);
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375686
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

очень похож на конфиг того же Nlog где можно настроить все, даже запись в БД +)
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375740
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУ, я не нуждался в этих пояснениях как ты не поймешь.
А это что за высер?

netivanКакая разница отдельная база или нет, если она на одном дисковом массиве
...
Рейтинг: 0 / 0
кто использует Nlog
    #37375773
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Данила, не рефлексуй, ему в куличики играть полезно.
...
Рейтинг: 0 / 0
кто использует Nlog
    #37376444
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanМСУ, я не нуждался в этих пояснениях как ты не поймешь.
А это что за высер?

netivanКакая разница отдельная база или нет, если она на одном дисковом массивеТема закрыта.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
кто использует Nlog
    #38054653
Smems
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Использовал log4net, но пришлось перейти на NLog. Вопрос вот в чём: как передать параметры в лог? К примеру, я хочу записать в HostName, UserName и т.д. свою информацию. В log4net нашёл способ, а вот в NLog что-то не получается...
...
Рейтинг: 0 / 0
кто использует Nlog
    #38054705
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smems,

ну смотри конфиг
...
Рейтинг: 0 / 0
кто использует Nlog
    #38054789
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smems,

SmemsК примеру, я хочу записать в HostName, UserName и т.д. свою информацию
Это всё есть out of the box

Но если надо передать что-то ну очень особенное - то смотрите в сторону LogEventInfo. Туда можно впихнуть любую инфу.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
кто использует Nlog
    #38776862
Фотография des1roer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите почему нлог дублирует записи?
10/15/2014 10:14:46|Debug|select "Date_Add" || SELECT "Date_Add" FROM "SC_Post16"."TPost16" order by "Date_Add" desc limit 1;
10/15/2014 10:14:46|Debug|select "Date_Add" || SELECT "Date_Add" FROM "SC_Post16"."TPost16" order by "Date_Add" desc limit 1;
...
Рейтинг: 0 / 0
кто использует Nlog
    #38776890
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanArm79,

очень похож на конфиг того же Nlog где можно настроить все, даже запись в БД +)

че за бред на счёт пролемы записи в один файл? если приложение ОДНО, то не важно сколько там процессов ОДНОГО приложения пишут в файл, хоть тысяча: держите файл открытым, NLog буфферизует запись. понять не могу, где вы эту проблему откопали? у меня есть приложение, в ОДИН лог пишут все имеющиеся классы, и ошибки, и инфа, и дебаг, и трейс, никогда в жизни с такой проблемой не сталкивался. жесть какая...
...
Рейтинг: 0 / 0
кто использует Nlog
    #38776941
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttесли приложение ОДНО, то не важно сколько там процессов ОДНОГО приложения пишут в файл
Вы ничего не напутали? Если приложение одно - речь должна идти не о процессах, а о потоках. И в этом случае да, проблем нет.

У ТС речь шла о двух разных приложениях, то есть разных процессах. В этом случае, если не настраивать, файл для логов в открывается эксклюзивно.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38776963
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
день некрофила сегодня?:)
...
Рейтинг: 0 / 0
кто использует Nlog
    #38776973
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ноябь 12го, доллар стоил 31,
боже как давно это было (с)
...
Рейтинг: 0 / 0
кто использует Nlog
    #38776992
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanдень некрофила сегодня?:)
Да дестроер смутил, в каждой некро-теме отписался, взбаламутил всех. Нет, чтобы завести отдельную тему и смиренно ждать ответов. У него другая тактика, которая описывается как "ему легче дать, чем объяснить, что его не желают" :-)
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777055
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79hVosttесли приложение ОДНО, то не важно сколько там процессов ОДНОГО приложения пишут в файл
Вы ничего не напутали? Если приложение одно - речь должна идти не о процессах, а о потоках. И в этом случае да, проблем нет.

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

Один файл лога для двух разных приложений это долпоепизм чистейшей воды. Или писать в базу, как МСУ советовал в таких случаях, или писать в разные файлы. И не сношать людям и себе мозг в жёсткой форме.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777065
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttArm79пропущено...

Вы ничего не напутали? Если приложение одно - речь должна идти не о процессах, а о потоках. И в этом случае да, проблем нет.

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

Один файл лога для двух разных приложений это долпоепизм чистейшей воды. Или писать в базу, как МСУ советовал в таких случаях, или писать в разные файлы. И не сношать людям и себе мозг в жёсткой форме.
Ну, кто спорит то? :-) Тем не менее, такая возможность есть.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777067
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Ну, кто спорит то? :-) Тем не менее, такая возможность есть.

Можно ещё в розетку голыми руками два оголённых провода воткнуть -- такая возможность тоже есть.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777140
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс в БД - это очень быстрый поиск по различным критериям, ключи, индексы, связи, транзакционность, скорость записи и куча всего. Ну а если нужно по-быстрому нагадить, то можно и в файл, и в евент лог. А потом при достижении какого-то размера выпилить данные и заново гадить.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777175
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПлюс в БД - это очень быстрый поиск по различным критериям, ключи, индексы, связи, транзакционность, скорость записи и куча всего. Ну а если нужно по-быстрому нагадить, то можно и в файл, и в евент лог. А потом при достижении какого-то размера выпилить данные и заново гадить.

Да, база лучше текста. Можно статистику получать, графики строить, быстро искать, показывать в интерфейсе, бекапить, делать срезы... текст это для совсем фатальных случаев, когда больше уже некуда, база отвалилась, свет погас, уборщица повесилась, доллар хрунул...
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777187
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttДа, база лучше текста.
Плюсы есть, но есть и минусы. Самый главный минус - скорость. Запись в файл всяко быстрее будет.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777198
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79hVosttДа, база лучше текста.
Плюсы есть, но есть и минусы. Самый главный минус - скорость. Запись в файл всяко быстрее будет.
Наоборот, в базу быстрее. Про уровни изоляции транзакций кому писал? Какой нах файл...
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777209
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУArm79пропущено...

Плюсы есть, но есть и минусы. Самый главный минус - скорость. Запись в файл всяко быстрее будет.
Наоборот, в базу быстрее. Про уровни изоляции транзакций кому писал? Какой нах файл...
Да ну, ерунда. Несколько сот обращений в секунду - большая нагрузка на БД.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777220
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79МСУпропущено...

Наоборот, в базу быстрее. Про уровни изоляции транзакций кому писал? Какой нах файл...
Да ну, ерунда. Несколько сот обращений в секунду - большая нагрузка на БД.
И какие проблемы с бд? Переварит, не переживай. А файл загнется.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777228
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Плюсы есть, но есть и минусы. Самый главный минус - скорость. Запись в файл всяко быстрее будет.

Файл это тоже база данных, если что. Только запись в файл это всё равно, что запись в БД в одно поле, одной записи, одной таблицы
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777305
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУArm79пропущено...

Да ну, ерунда. Несколько сот обращений в секунду - большая нагрузка на БД.
И какие проблемы с бд? Переварит, не переживай. А файл загнется.
Ни в коем случае :-)

Предположим, работает какой-нибудь сетевой сервис. И нужно лог писать о его состоянии. И тут отвалилась сеть. Естественно, посыпятся ошибки, но записаться в Бд уже не смогут, ибо сеть отвалилась :-)

Далее, представим себе ферму из 10 таких серверов. И каждый из них пытается записать в одну БД логи о себе. Это каких аппаратных возможностей нужно, чтобы все дело писать.

К тому же от логов в онлайне нужно отнюдь не все, а лишь выцыганить нештатное поведение или ошибки. То есть события типа Error, Warning.

Да и заводить отдельный сервер для БД логов (не базу, а сервер) дело очень гемморойное в плане бюрократии. Особенно когда в организации что-то типа HP OVO. Какое там, даже SMTP для оповещения об ошибках на почту не дали.

В общем, пришлось события уровня info и критичнее, писать в файлы, ERROR и WARNING - EventLog
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777310
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttФайл это тоже база данных, если что. Только запись в файл это всё равно, что запись в БД в одно поле, одной записи, одной таблицы
Не все равно. Файл заполняется напрямую байтами, а информация, проходящая через СУБД, перед превращением в те же байты проходит несколько шагов, что уже автоматически медленнее.

PS Речь идет о том, что в постоянно ОТКРЫТЫЙ файл писать быстрее. Если же на каждый цикл открывать/закрывать файл, то СУБД может и переплюнуть за счет кэширования.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777456
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Предположим, работает какой-нибудь сетевой сервис. И нужно лог писать о его состоянии. И тут отвалилась сеть. Естественно, посыпятся ошибки, но записаться в Бд уже не смогут, ибо сеть отвалилась :-)
Так БД может крутиться локально :) Более того, есть embedded database если что. И даже если отлетела сеть, то какая уже разница, бизнес данные всё-равно уже не доступны, как работать пользователю с ресурсом? Да и сетевые вопросы должны траблшутить сетевики, а не твой файлик на сайте. Не нужно пытаться решить все проблемы мира одним способом, это неправильно.

Arm79Далее, представим себе ферму из 10 таких серверов. И каждый из них пытается записать в одну БД логи о себе. Это каких аппаратных возможностей нужно, чтобы все дело писать.
А какие проблемы? Десятки и сотни терабайт вообще без проблем крутятся тем же скулем. Это ж сколько десятилетий нужно прожить, чтобы засрать БД так, чтобы всё колом встало. И как ты будешь в этом случае смотреться со своим файликом? Особенно, когда нужно поднять какую-то информацию по определенному условию.

Arm79Да и заводить отдельный сервер для БД логов (не базу, а сервер) дело очень гемморойное в плане бюрократии. Особенно когда в организации что-то типа HP OVO. Какое там, даже SMTP для оповещения об ошибках на почту не дали.
Всё зависит от задачи. Сервер или просто БД.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777476
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТак БД может крутиться локально :)
Не может. Ибо нагруженный сервис. А если речь идет не о централизованном хранилище логов, а о embedded - я вообще не вижу разницы с файлом :-)
МСУИ даже если отлетела сеть, то какая уже разница, бизнес данные всё-равно уже не доступны, как работать пользователю с ресурсом?
Сервер может иметь и не одну сетевую карточку :-)
МСУА какие проблемы? Десятки и сотни терабайт вообще без проблем крутятся тем же скулем.
Дело не в возможностях скуля, а в том, что терабайты серверного диска в каком-нить SAN оченна дорогие. И лицензия на сервер тоже. Может, по отдельности каждый из факторов и не оказывает критического влияния, но их совокупность (ну и бизнес-необходимость) заставляли меня отказываться от этого.
МСУИ как ты будешь в этом случае смотреться со своим файликом? Особенно, когда нужно поднять какую-то информацию по определенному условию.
Легко и непринужденно. ротация логов - и нет файликов терабайтного размера. + regex поверх него. Речь же идет не об онлайне.
МСУВсё зависит от задачи. Сервер или просто БД.
У меня именно сервер, тк никто не разрешил бы на боевой сервер ставить базу логов, которая iops-ы бы отнимала от боя.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777507
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79МСУТак БД может крутиться локально :)
Не может. Ибо нагруженный сервис. А если речь идет не о централизованном хранилище логов, а о embedded - я вообще не вижу разницы с файлом :-)
1. Поднятие инстанса БД чисто под логи много ресурсов не сожрет. Горизонтальное масштабирование тебе в помощь.
2. Ты не видишь разницу embedded database и текстового файлика? Ну это к доктору :)

Arm79МСУИ даже если отлетела сеть, то какая уже разница, бизнес данные всё-равно уже не доступны, как работать пользователю с ресурсом?
Сервер может иметь и не одну сетевую карточку :-)
С каких это пор сетевая карточка стала сетью сервера? :)

Arm79МСУА какие проблемы? Десятки и сотни терабайт вообще без проблем крутятся тем же скулем.
Дело не в возможностях скуля, а в том, что терабайты серверного диска в каком-нить SAN оченна дорогие. И лицензия на сервер тоже. Может, по отдельности каждый из факторов и не оказывает критического влияния, но их совокупность (ну и бизнес-необходимость) заставляли меня отказываться от этого.
Ну так не о цене говорим, а о возможностях. Если бизнес готов в это инвестировать, то какие проблемы? Если заказчик не хочет оплачивать сервера и ресурсы, то о чем можно говорить. Пусть идёт пасёт коз. Если нужны логи и их много, нужно выделять под это определенную инфраструктуру. А с "файликом" можно пойти на поле коз смешить.

Arm79МСУИ как ты будешь в этом случае смотреться со своим файликом? Особенно, когда нужно поднять какую-то информацию по определенному условию.
Легко и непринужденно. ротация логов - и нет файликов терабайтного размера. + regex поверх него. Речь же идет не об онлайне.
Сколько лет будет выполняться regex по файлику террабайтного объема? Ты смеешься? И сколько будет выполняться поиск по таблицам с нужными индексами.

Arm79МСУВсё зависит от задачи. Сервер или просто БД.
У меня именно сервер, тк никто не разрешил бы на боевой сервер ставить базу логов, которая iops-ы бы отнимала от боя.
Ну знаешь ли, разрешил или не разрешил. Мы с тобой не про разрешения дискутируем.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777525
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСколько лет будет выполняться regex по файлику террабайтного объема? Ты смеешься? И сколько будет выполняться поиск по таблицам с нужными индексами.
По таблице терабайтного объема без индексов поиск тоже будет небыстрым. А для высокой транзакционной нагрузки индексы противопоказаны - будут тормоза из-за накладных расходов на поддержку индексов и связанной статистики при DML-операциях.
А вообще, тут сейчас обсуждается сферический конь с логированием в вакууме. Обычно инструменты для задачи, а не наоборот.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777531
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСколько лет будет выполняться regex по файлику террабайтного объема? Ты смеешься? И сколько будет выполняться поиск по таблицам с нужными индексами.
Я же указал, никакого терабайта. Ротацию же упомянул. Да и файлы террабайтного размера - что то ты не в ту степь пошел.

МСУ1. Поднятие инстанса БД чисто под логи много ресурсов не сожрет. Горизонтальное масштабирование тебе в помощь.
МСУНу так не о цене говорим, а о возможностях. Если бизнес готов в это инвестировать, то какие проблемы?
МСУНу знаешь ли, разрешил или не разрешил. Мы с тобой не про разрешения дискутируем.
Ну то есть для удобства программиста бизнес должен пожертвовать деньги, хотя вполне мог бы ограничиться минимумом денежных вложений и писать в файл данные? Есть разумный компромисс - необходимые возможности и допустимые затраты. Для информирования об ошибках и нештатных ситуациях - файлы + eventlog + smtp - выше крыши. Если речь о продвинутой аналитике, то можно в БД писать
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777532
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныПо таблице терабайтного объема без индексов поиск тоже будет небыстрым.
Ну не в сравнении с поиском по текстовому файлу.

Вот пример, добавление строки в конец 2Гб файла. Просто аццкая жесть. Как тебе? Уж молчу про файлы 10Гб, каких в зад терабайты. А если в этот файл пишут n тредов? Крестимся и надеваем петлю.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
string filename = "dummy.txt";

using (var fs = new FileStream(filename, FileMode.CreateNew))
{
    fs.Seek(2048L * 1024 * 1024, SeekOrigin.Begin);
    fs.WriteByte(0);
}

using (var w = File.AppendText(filename))
{
    w.WriteLine(DateTime.Now);
}



Сон Веры ПавловныА для высокой транзакционной нагрузки индексы противопоказаны - будут тормоза из-за накладных расходов на поддержку индексов и связанной статистики при DML-операциях
На терабайте индексы противопоказаны? Сомневаюсь, что это так. Ну и есть же секционирование / партиционирование.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777539
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79МСУСколько лет будет выполняться regex по файлику террабайтного объема? Ты смеешься? И сколько будет выполняться поиск по таблицам с нужными индексами.
Я же указал, никакого терабайта. Ротацию же упомянул. Да и файлы террабайтного размера - что то ты не в ту степь пошел.
Ну я ж и говорю, будет плодиться файлопомойка из немеряного количества файлов. Разобрать эту кашу может только укуренный. О каком размере файла речь?

Arm79Ну то есть для удобства программиста бизнес должен пожертвовать деньги, хотя вполне мог бы ограничиться минимумом денежных вложений и писать в файл данные? Есть разумный компромисс - необходимые возможности и допустимые затраты. Для информирования об ошибках и нештатных ситуациях - файлы + eventlog + smtp - выше крыши. Если речь о продвинутой аналитике, то можно в БД писать
Какое удобство программиста? Есть задача и требования, от этого и нужно отталкиваться.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777543
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЕсть задача и требования, от этого и нужно отталкиваться.
Arm79Для информирования об ошибках и нештатных ситуациях - файлы + eventlog + smtp
БД не нужна.

hVosttМожно статистику получать, графики строить, быстро искать, показывать в интерфейсе, бекапить, делать срезы...
БД нужна.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777547
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79, о чем я и говорил. Всё зависит от требований.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777648
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас 10 серверов в ферме, на каждом сервере 50 листенеров пишут логи в файлы.

Периодически запускается LogHarvester, собирает логи и кладёт их в базу.
Когда тебе надо, то запускаешь LogAnalyzer и крутишь-вертишь данные логов как хочешь.

Проверено годами эксплуатации. :)
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777653
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУ нас 10 серверов в ферме
На сколько запросов в сутки если не секрет?
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777656
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKIskyANAУ нас 10 серверов в ферме
На сколько запросов в сутки если не секрет?В пике до 600 запросов в секунду на сервер (http запросов).
...
Рейтинг: 0 / 0
кто использует Nlog
    #38777665
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВот пример, добавление строки в конец 2Гб файла. Просто аццкая жесть. Как тебе? Уж молчу про файлы 10Гб, каких в зад терабайты. А если в этот файл пишут n тредов? Крестимся и надеваем петлю.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
string filename = "dummy.txt";

using (var fs = new FileStream(filename, FileMode.CreateNew))
{
    fs.Seek(2048L * 1024 * 1024, SeekOrigin.Begin);
    fs.WriteByte(0);
}

using (var w = File.AppendText(filename))
{
    w.WriteLine(DateTime.Now);
}


Эмм.. Берем Преступление и наказание , сохраняем в файл 1.txt. Далее:
Код: c#
1.
2.
3.
4.
var txt = File.ReadAllText(@"D:\Trash\1.txt", Encoding.Default);
using(var sw = new StreamWriter(@"D:\Trash\2.txt", true))
  for (var i = 0; i < 50000; i++)//
    sw.WriteLine(txt);


- получаем файл весом в ~95 гигабайт. Далее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var l = new List<long>();
for (var k = 0; k < 10000; k++)
{
  var st = new Stopwatch();
  st.Start();
  using (var sw = new StreamWriter(@"D:\Trash\2.txt", true))
    for (var i = 0; i < 100000; i++)
      sw.WriteLine(string.Format("{0} {1}", k, i));
  st.Stop();
  l.Add(st.ElapsedMilliseconds);
}
Console.WriteLine(l.Average());


Получаем ~46 миллисекунд на на итерацию в среднем, всего 10 000 итераций, каждая по 100 000 записей. Вроде бы всё не так уж и плачевно.
МСУСон Веры ПавловныА для высокой транзакционной нагрузки индексы противопоказаны - будут тормоза из-за накладных расходов на поддержку индексов и связанной статистики при DML-операциях
На терабайте индексы противопоказаны? Сомневаюсь, что это так. Ну и есть же секционирование / партиционирование.
Я писал не про объем, а про количество транзакций в единицу времени.
...
Рейтинг: 0 / 0
кто использует Nlog
    #38778118
Фотография des1roer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кст кто сталкивался - почему логер виндоуза такой ***. помню писал логи в него. так на 2000 что ли записи он падал и не давал писать дальше. и никто не ответил почему нлог давды записыввает? у меня не мультипроцессорное приложение.
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / кто использует Nlog
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]