У меня есть требование для моего приложения, чтобы узнать, произошли ли изменения со сложным деревом объектов с определенного времени. Изменения могут быть любыми вещами: обновлениями, удалениями, даже представлениями.Является ли плохой практикой для приложения читать собственный журнал?
Я мог бы добавить структуру, чтобы записать эти события в мою базу данных с меткой времени, а затем уметь рассуждать об изменениях, но зачем мне создавать таблицу базы данных для чего-то, что так близко напоминает системный журнал?
Вместо этого я имею в виду просто использовать файл журнала программ. Я прочитаю последнюю запись, которая соответствует определенному шаблону (поэтому я знаю, что запись относится к одному из изменений, которые я ищу), и если метка времени больше, чем моя контрольная точка, я знаю, что изменения произошли со времени моего контрольно-пропускного пункта.
Это довольно просто, но я не уверен, есть ли что-то, о чем я не думал. Одно дело в том, что мне нужно убедиться, что уровень ведения журнала установлен таким образом, чтобы сообщения действительно отображались в журнале, но это не должно быть большой проблемой. Я мог бы иметь несколько лог-файлов, где я обязательно включу абсолютно все в одном из них, и пусть другой будет настраиваться.
Действительно. Было бы оптимально хранить записи для этого шаблона использования в собственном файле журнала без каких-либо других типов записей. И письмо станет проблемой, это правда, но это никогда не будет иметь отношение к этому конкретному делу. Спасибо за ваши входы – Eldamir
«Это никогда не произойдет» - это не правильное отношение. Рассмотрите, что происходит, когда происходит исключение, или другие силы работают вне вашего контроля. – ergonaut
Ну конечно, но в этом случае домен для исключений довольно мал. Не трудно избежать за счет резервного кодирования – Eldamir