Записать результат парсинга лога в БД
Передо мной поставили задачу распарсить лог файл 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 |
и потом приводить к нужному мне виду?