1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Uller-uller_log

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

uller_log

Высокопроизводительный сервис ведения журналов

Он может объединять множество одинаковых записей журнала за определённый период времени в одну запись и подсчитывать их. Поддерживает клиент-серверную структуру (TCP-цепочка), а также позволяет хранить данные в указанном пользователем формате (файл, база данных). Например, если за 30 секунд на компьютере A программа a1 сгенерировала 100 повторяющихся записей журнала, то соответствующая запись будет выглядеть так: «192.168.1.1 a1 журнал 100 раз».

Сценарии применения

Сервис подходит для хранения больших объёмов повторяющихся данных, таких как HTTP-интерфейсы, журналы доступа к приложениям и журналы ошибок программ. Преимущество заключается в сокращении объёма хранимых журналов. Пример использования: при наличии двух серверов с одним HTTP-интерфейсом и ежедневным трафиком в 100 Вт, можно развернуть сервер uller_log с кешем на 500 записей и интервалом хранения в 60 секунд. Объём хранимых данных не должен превышать 10 000.

Структура каталогов

  • comm — каталог программы;
  • log_client — пример вызова клиента;
    • config.ini — файл конфигурации;
  • log_server — пример вызова сервера;
    • contfig.ini — файл конфигурации.

Описание файла конфигурации клиента

[devLogDB]
Конфигурация базы данных.

[devLog]
Базовая конфигурация журнала.
storageType: тип хранения журнала, возможные значения: file (локальное файловое хранилище), db (хранилище базы данных), remotServer (удаленное серверное хранилище).
logFilePath: путь к файлу при storageType = file.
pingInterval: интервал отправки пакетов проверки связи при storageType = remotServer, в секундах.
encrypSecret: ключ шифрования при отправке данных на сервер при storageType = remotServer. Если пусто, данные не шифруются.
remotServerIP: IP-адрес удаленного сервера при storageType = remotServer.
remotServerPort: порт удаленного сервера при storageType = remotServer.
sendInterval: интервал хранения журналов, в секундах.
sendCount: количество журналов в кеше. После достижения этого количества журналы сохраняются, игнорируя значение sendInterval.
localCache: включение локального кеша.

Описание файла конфигурации сервера

[devLogDB]
Конфигурация базы данных.

[devLog]
Базовая конфигурация журнала.
localIp: IP-адрес локального сервера.
localPort: порт локального сервера.
storageType: тип хранилища журнала, возможные значения: file (файловое хранилище на локальном диске), db (база данных).
logFilePath: путь к файлу при storageType = file.
sendInterval: интервал сохранения журналов, в секундах.
sendCount: количество журналов в кеше. После достижения этого количества журналы сохраняются, игнорируя значение sendInterval.
localCache: включение кеширования на сервере.
whiteList: белый список IP-адресов клиентов, разделенных запятыми.
blackList: черный список IP-адресов клиентов, разделенных запятыми.

Повторная разработка колеса (https://gitee.com/Uller/GLLog) — это лучший способ изучить язык. Несмотря на неприглядный внешний вид, писать на Golang очень удобно.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Go
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Uller-uller_log.git
git@api.gitlife.ru:oschina-mirror/Uller-uller_log.git
oschina-mirror
Uller-uller_log
Uller-uller_log
main