Записать результат парсинга лога в БД
Передо мной поставили задачу распарсить лог файл OpenVPN и вывести информацию о сессиях пользователей:
username | connected timestamp | disconnected timestamp |
---|---|---|
user1 | 2023-06-19 12:28:01 | 2023-06-19 13:11:17 |
Задачу я решил, но возник вопрос.
Уверен, что парсинг логов это довольно распространённая задача и вы с ней уже сталкивались, основываясь на вашем опыте, как правильнее писать информацию в базу данных:
- обрабатывать лог и сохранять сразу в формате
username | connected timestamp | disconnected timestamp |
---|---|---|
user1 | 2023-06-19 12:28:01 | 2023-06-19 13:11:17 |
user2 | 2023-06-19 23:11:32 | 2023-06-20 00:41:38 |
или
- писать в БД строку о каждом подключении / отключении
username | timestamp | action |
---|---|---|
user1 | 2023-06-19 12:28:01 | connected |
user1 | 2023-06-19 13:11:17 | disconnected |
user2 | 2023-06-19 23:11:32 | connected |
user2 | 2023-06-20 00:41:38 | disconnected |
и потом приводить к нужному мне виду?
Источник: Stack Overflow на русском