Skip to content

savadevel/LogViewer

Repository files navigation

LowViewer

Общая информация

Программа просмотра файла почтового лога через web форму, с возможностью поиска по адресату

Запуск программы (локально)

  1. выполните команду, для получения данного локального ее запуска:
git clone https://github.com/savadevel/LogViewer.git
  1. перейди в каталог с программой
cd ./LogViewer
  1. запустите программу (запускается в docker, при этом создаются три сервиса: db, app, nginx)
docker compose up

Работа с программой

  1. После запуска программы, она доступна по адресу http://127.0.0.1:8080/

image

  1. Задайте в поле "Адрес получателя" адрес эл. почты, по которым требуется вывести почтовый лог и нажмите кнопку "Искать" image

  2. Отображаемый результат ограничить сотней записей (по-умолчанию), если количество найденных строк превышает указанный лимит, выдаваться соответствующее сообщение image

  3. Если задан "Адрес получателя" не в формате адреса эл. почты, то выводится ошибка image

  4. Если не задан "Адрес получателя", то выводится ошибка image

Схема таблиц в БД

CREATE TABLE message (
  created TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL,
  id VARCHAR NOT NULL,
  int_id CHAR(16) NOT NULL,
  str VARCHAR NOT NULL,
  status BOOL,
  address VARCHAR,
  COSTRAINT message_id_pk PRIMARY KEY(id)
);

CREATE INDEX message_created_idx ON message (created);
CREATE INDEX message_int_id_idx ON message (int_id);
CREATE INDEX log_address_idx ON log USING hash (address);

CREATE TABLE log (
  created TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL,
  int_id CHAR(16) NOT NULL,
  str VARCHAR,
  address VARCHAR
);

CREATE INDEX log_address_idx ON log USING hash (address);

Особенности работы

  1. Программа запускается в docker't, при этом создаются три сервиса:

    • db - СУБД, используется PG
    • app - сервер приложений на perl
    • nginx - обратный прокси Nginx
  2. Настройки приложения задаются в файле config.yml, в т.ч.

    • параметры подключения к СУБД (db_dsn, db_user, db_pass)
    • лимит строк (limit_rows)
    • путь к фалу с почтовым логом (file_log)
  3. При запуске последовательно выполняются следующие шаги

    • удаление БД, если ранее создана (см. docker-compose.yml)
    • создание БД (см. docker-compose.yml)
    • запуск приложения (веб-приложения)
    • создание подключения к СУБД
    • создание таблиц в БД
    • открытие файла
    • последовательная загрузка записей из почтового лога в БД (с авто commit)
    • ожидание подключений

About

Программа просмотра файла почтового лога через web форму, с возможностью поиска по адресату

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors