Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Log библиотека - порекомендуйте / 12 сообщений из 12, страница 1 из 1
26.03.2018, 12:40
    #39620458
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Нужна библиотека/фреймворк для добавления логгирования в длл, чтобы можно было разрешить, запретить, писать в файл, в базу и т.д. Т.е. что-то похожее на log4net, но для с++ и кросс-платформное: Windows, Mac OS X, Linux.
...
Рейтинг: 0 / 0
26.03.2018, 14:40
    #39620530
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
...
Рейтинг: 0 / 0
26.03.2018, 14:44
    #39620532
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
MasterZiv https://habrahabr.ru/post/313686/

Spdlog хвалят

спасибо, полезная ссылка.

Что примечательно, про g3log пишут, что и потоко-безопасный и умеет в случае segfault написать об этом в лог и улететь вместе с парентом
...
Рейтинг: 0 / 0
26.03.2018, 15:38
    #39620569
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Мне вот не совсем понятно, почему некоторые критикуют асинхронный режим логгирования
...
Рейтинг: 0 / 0
26.03.2018, 17:08
    #39620627
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Ролг ХупинМне вот не совсем понятно, почему некоторые критикуют асинхронный режим логгирования

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

Это как бы допустимо иногда, но не всем подходит.

Кроме этого, это место, где все данные сохраняются, можно назвать его контекст логирования, должно быть защищено от гонок в многопоточном окружении, должно иметь достаточно большой буфер для хранения временных данных для логов.
...
Рейтинг: 0 / 0
26.03.2018, 17:32
    #39620656
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
MasterZivРолг ХупинМне вот не совсем понятно, почему некоторые критикуют асинхронный режим логгирования

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

Это как бы допустимо иногда, но не всем подходит.

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

ну, да, ясно, что чудес не бывает, очередь, память занимает, обработка, но с другой стороны - в прикладной части вызвал функцию записи в лог и сразу вернулось управление
...
Рейтинг: 0 / 0
26.03.2018, 19:42
    #39620721
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
MasterZivЭто как бы допустимо иногда, но не всем подходит.Если вам нужны последние микросекунды жизни приложения, то надо изучать посмертный дамп.
А протоколирование должно быть асинхронным - это, всё-таки, не транзакции базы данных.
...
Рейтинг: 0 / 0
26.03.2018, 23:48
    #39620812
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Basil A. SidorovMasterZivЭто как бы допустимо иногда, но не всем подходит.Если вам нужны последние микросекунды жизни приложения, то надо изучать посмертный дамп.
А протоколирование должно быть асинхронным - это, всё-таки, не транзакции базы данных.
Если теряется суть логгирования - отловить пердсмертный ход событий - оно нафиг не нужно.
Дамп и без него можно покопать.

Пусть будет асинхронным, но с маленьким буфером )
...
Рейтинг: 0 / 0
27.03.2018, 07:06
    #39620861
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Оно, конечно, специфика разная, но вот никогда не приходилось переживать, что пропала пара сотен последних строк.
Вот "бегамойты лопатить" это да, случалось. И не раз.
...
Рейтинг: 0 / 0
27.03.2018, 09:25
    #39620902
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
MasterZivРолг ХупинМне вот не совсем понятно, почему некоторые критикуют асинхронный режим логгирования

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

Это как бы допустимо иногда, но не всем подходит.

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

и с другой стороны - чем тогда специфический фреймворк отличается от простой самопальной функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
void mylog(const char *fmt,...)
{
	FILE *f=NULL;
        if(f)
	{
		va_start(args, fmt);		
		vfprintf(f, fmt, args); 
		va_end(args);
		fclose(f);
	}
	return;
}



Но такая функция заваливает производительность при интенсивном логгировании, с чего я и начал изыскания
...
Рейтинг: 0 / 0
27.03.2018, 12:36
    #39621096
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
"Copy the source folder to your build tree and use a C++11 compiler."


Что это "с++ 11" под виндоуз и под маком?
...
Рейтинг: 0 / 0
27.03.2018, 12:55
    #39621123
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Log библиотека - порекомендуйте
Ролг Хупин"Copy the source folder to your build tree and use a C++11 compiler."


Что это "с++ 11" под виндоуз и под маком?
Требуется компилятор поддерживающий стандарт С++11. Сегодня все современные компиляторы его поддерживают.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Log библиотека - порекомендуйте / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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