Ведение журнала C++ Boost — как регулировать приемники? (+Ошибки компилятора) ⇐ C++
Ведение журнала C++ Boost — как регулировать приемники? (+Ошибки компилятора)
У меня две раковины. По сути, приемник sinks::asynchronous_sink и приемник sinks::asynchronouse_sink.
Уже существующий код sinks::basic_sinks_backend унаследован в пользовательский класс, который переопределяет consume() для подключения к отображению журнала на веб-сайте. Всякий раз, когда в журнал попадает огромное количество ошибок, веб-сайт зависает. Я предпочитаю выбрасывать повторяющиеся записи об ошибках в журнале, чтобы иметь возможность отладки, чем все это зависать.
Я реализовал регулирование журналов для отдельных компонентов в других частях кода, но возможность регулировать количество сообщений журнала, когда они пересылаются в одной точке (приемники), была бы идеальной. Я думал об использовании функции set_filter(), но это потребовало бы изменения сообщений журнала, чтобы в нем был атрибут некоторого счетчика журнала, который я не хочу распечатывать.
Как это можно сделать? Могу ли я создать новый класс для text_file_backend, чтобы наследовать приемники и реализовать счетчик вывода журнала в consume() и начать там регулирование, предотвращая постановку записи в очередь?
Предполагая, что logCounter сбрасывается в 0 через регулярные промежутки времени, а throttleRateLimit представляет собой некоторое количество записей журнала за указанный промежуток времени...
unsigned int logCounter = 0; void Consumer (record_view const& Rec) { журналСчетчик++; если (logCounter
У меня две раковины. По сути, приемник sinks::asynchronous_sink и приемник sinks::asynchronouse_sink.
Уже существующий код sinks::basic_sinks_backend унаследован в пользовательский класс, который переопределяет consume() для подключения к отображению журнала на веб-сайте. Всякий раз, когда в журнал попадает огромное количество ошибок, веб-сайт зависает. Я предпочитаю выбрасывать повторяющиеся записи об ошибках в журнале, чтобы иметь возможность отладки, чем все это зависать.
Я реализовал регулирование журналов для отдельных компонентов в других частях кода, но возможность регулировать количество сообщений журнала, когда они пересылаются в одной точке (приемники), была бы идеальной. Я думал об использовании функции set_filter(), но это потребовало бы изменения сообщений журнала, чтобы в нем был атрибут некоторого счетчика журнала, который я не хочу распечатывать.
Как это можно сделать? Могу ли я создать новый класс для text_file_backend, чтобы наследовать приемники и реализовать счетчик вывода журнала в consume() и начать там регулирование, предотвращая постановку записи в очередь?
Предполагая, что logCounter сбрасывается в 0 через регулярные промежутки времени, а throttleRateLimit представляет собой некоторое количество записей журнала за указанный промежуток времени...
unsigned int logCounter = 0; void Consumer (record_view const& Rec) { журналСчетчик++; если (logCounter
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение