Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / boost::log file / 7 сообщений из 7, страница 1 из 1
30.05.2016, 16:29
    #39246346
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
Добрый день!

Использовал для записи логов библиотеку "boost::log" - работает замечательно.
Но сейчас поставли новую задачу : по команде пользователя нужно закрыть текущий лог файл, открыть новый файл и писать в него!

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

Может у кого есть решение подобной задачи?

Заранее спасибо.
...
Рейтинг: 0 / 0
30.05.2016, 17:45
    #39246395
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
bdm77,

Для этого придумали ротацию логов, тебе нужно наверное её вызвать программно, принудительно.
Не знаю, как там с этим в boost::log, но думаю, должны быть функции в API...
...
Рейтинг: 0 / 0
30.05.2016, 17:47
    #39246397
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
Действительно - сложная задача. Нужно проникнуть в твой разум и понять как ты чего-то "добился"
и дать советы по фиксации.
...
Рейтинг: 0 / 0
31.05.2016, 11:04
    #39246866
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
MasterZivbdm77,

Для этого придумали ротацию логов, тебе нужно наверное её вызвать программно, принудительно.
Не знаю, как там с этим в boost::log, но думаю, должны быть функции в API...

спасибо. нашел решение.
Можно использовать " boost::log::sinks ".. создавать, удалять из логгера.
...
Рейтинг: 0 / 0
31.05.2016, 11:12
    #39246880
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
maytonДействительно - сложная задача. Нужно проникнуть в твой разум и понять как ты чего-то "добился"
и дать советы по фиксации.

Я понял!

Каждый раз когда приходила команда от пользователя, я вызывал ф-ию:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void setFileName(const std::string fileName)
{
      logging::add_file_log(keywords::file_name = fileName, keywords::auto_flush = true, keywords::format = "%Message%");
      logging::core::get()->set_filter(
      logging::trivial::severity >= logging::trivial::info);
      logging::add_common_attributes();
}



И получалось, что каждый раз создается новый файл и продолжается писать в старый..
...
Рейтинг: 0 / 0
01.06.2016, 18:57
    #39248449
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
доки не читал? boost.org/libs/log

http://www.boost.org/doc/libs/1_61_0/libs/log/doc/html/log/tutorial/sinks.html
http://www.boost.org/doc/libs/1_61_0/libs/log/doc/html/log/detailed/sink_backends.html#log.detailed.sink_backends.text_file
http://www.boost.org/doc/libs/1_61_0/libs/log/doc/html/log/extension.html#log.extension.sinks

можно удалить один sink и создать другой. можно также создать новый поток в уже существующем sink.. вариантов много. в конце концов самый нормальный - написать свой sink.
...
Рейтинг: 0 / 0
27.06.2016, 09:15
    #39262699
bdm77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
boost::log file
alexy_black,

спасибо.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / boost::log file / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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