Ведение журнала удаленных приложений Barebones
У меня есть приложение C++, работающее на десятках краткосрочных облачных экземпляров, которые иногда, но редко, должны выдавать предупреждение из-за какого-то экстраординарного сбоя. Для этого требуется какая-то удаленная система регистрации приложений с централизованным сервером для ожидания и накопления журналов.
Это не редкость, тет, удивительно, но совершенно непонятно, как действовать дальше. Даже после обширного поиска в Google почти все инструменты ведения журнала и обсуждения сосредоточены на пересылке системных журналов (часто с помощью rsyslog), а не данных приложений, или на использовании очень тяжелых, сложных и (часто коммерческих) избыточных инструментов, таких как POCO, SPLUNK и Log4cxx.
В настоящее время мне стыдно говорить, что я выдаю HTTP-запросы system() wget с моей строкой журнала, встроенной в URL-адрес, и просто разбираю HTTP-журнал сервера. Я бы даже продолжил это делать, если бы не 1) HTTP-сервер на самом деле размещает больше, чем просто мои входы в журнал, и 2) я не могу отправлять произвольные строки, так как они должны быть переформатированы, чтобы передать длину HTTP-запроса и ограничения кодировки символов.
Скорость, масштабируемость и универсальность не слишком важны. Простота есть. Мне больше всего нравится один заголовок C++, который предоставляет одну функцию, которую я предоставляю IP-адрес и простую строку ASCII, а сервер по этому адресу просто объединяет все строки, которые он получает от всех отправителей. И все же я не могу найти такой простой системы или даже примера.
Мой вопрос к сообществу: каков самый простой метод c++ tool/header/library для этого требования регистрации приложений barebones типа "удаленное приложение C++, очень редко, может отправить одну строку на сервер, который просто объединяет все строки, которые он получает в файл"?
Что я уже пробовал:
Мой вопрос к сообществу: каков самый простой метод c++ tool/header/library для этого требования регистрации приложений barebones типа "удаленное приложение C++, очень редко, может отправить одну строку на сервер, который просто объединяет все строки, которые он получает в файл"?
Peter_in_2780
Почему бы немного не адаптировать вашу нынешнюю технологию? Используйте HTTP POST, чтобы обойти ограничения длины и смешные ограничения символов. На сервере добавьте данные POST в текстовый файл, который вы можете время от времени выгружать.
Вы можете добавить что-то на сервере, например отметку времени, IP-адрес источника и т. д.