CPAN обеспечивает реализацию здесь (см., что источник связывается)
См. также алгоритм Метки для оси графика
к вашему сведению с Вашими демонстрационными данными:
Обновление д-ра Добба «Легкий логгер для C ++»: На самом деле есть пара логгеров, упомянутых в докторе Доббе. Первый Вход в C ++ , который указан в одном из ответов. Я пытался использовать это, но источник больше не доступен на сайте доктора Добба.
Вторым, который мне подходит и который я рекомендую, является Облегченный регистратор для C ++ Филипа Янишевского, работающего в Nokia Siemens Networks. Сначала у меня были некоторые проблемы с запуском этого кода, поэтому, когда я искал решения, я наткнулся на обновление оригинального автора: GitHub: fjanisze / logger . Я обнаружил, что этот код легко понять, изменить и использовать. Он поддерживает потоки и работает с Visual Studio с Windows.
Другой упомянутый выше логгер - easylogging ++ . Когда я впервые попробовал это, это выглядело многообещающе. Но когда я добавил потоки и сокеты2 под Windows, он вылетел. У меня был набор определений для многопоточности и Sock2, но я все еще не мог заставить его работать, поэтому я не могу рекомендовать это. Исходный код также очень сложный, поэтому у меня не было возможности изменить и исправить его в течение разумного периода времени.
Я, как и многие другие, также ответил на этот вопрос некоторым кодом.
Это не совсем «готово» во всех отношениях, но его можно легко изменить:
https://gist.github.com/earonesty/977b14c93358fe9b9ee674baac5d42d7
Особенности:
LOGE(blah << stream)
) Пропавшие без вести:
Если кому-то действительно нравится это решение, lmk, и я сделаю из него реальное репо с тестами и т. д. достаточно быстро. Вероятно, не так быстро, как Speedlogger (более тяжелая библиотека с полным набором функций), но не уверен.