Я сталкивался с этими двумя словами чаще, но я не видел большого различия в них? Я имею в виду, хотят знать, что они используются попеременно или существуют некоторые различия в тех двух?Спасибо.
Логирование обычно означает запись событий на уровне реализации, которые происходят во время работы программы (вызываются методы, создаются объекты и т.д.). Как таковое оно фокусируется на вещах, которые интересуют программистов
Аудит - это запись событий на уровне домена: создается транзакция, пользователь выполняет действие и т.д. В некоторых типах приложений (банковское дело) существует юридическое обязательство регистрировать такие события.
Я вижу журналы аудита как информацию, требуемую Бизнес, чтобы выяснить, какое действие произошло в конкретную дату и время этим пользователем для этого пользователя. К нему приписана деловая ценность, которая позволит вам проверить, что произошло. Как правило, журналы аудита архивируются для целей истории и соответствия.
Обычное ведение журнала, с другой стороны, регистрирует информацию, необходимую технологическому партнеру, чтобы понять, что произошло или как система вела себя во время определенного события. Он может содержать сигнатуру метода, какие значения передаются в качестве входных и какие значения передаются в качестве выходных, а также, если было исключение, дополнительную информацию об исключении и т. Д. Эта информация не требуется для бизнеса и может быть отключена или сведения, которые регистрируются, могут быть сокращены в зависимости от потребностей. Эта информация в основном помогает группам разработчиков или поддержки в отладке системы.
Аудит подразумевает активный просмотр логов, ИМХО. Невозможно провести аудит без регистрации, но вы можете вести журнал без аудита.
Разница больше в использовании, чем в технике.
Аудит используется для ответа на вопрос «Кто что сделал?» и, возможно, почему. Ведение журнала больше сосредоточено на том, что происходит.
Они существенно отличаются друг от друга. Ведение журнала - это просто абстрактная задача записи данных о событиях, происходящих в системе. Если вы вообще записываете какую-либо информацию, вы ведете журнал.
Аудит, однако, более сложен. Аудит - это практика проверки журналов с целью убедиться, что система находится в желаемом состоянии, или ответить на вопросы о том, как система пришла к определенному состоянию. Конечно, один из способов проведения аудита - это просмотр журналов, но можно проводить аудит и без журналов (в качестве простого примера можно напрямую спросить пользователя, несет ли он ответственность за определенное изменение). Это не очень хорошая идея, потому что ведение журнала обычно настолько дешевая операция, что альтернативы не нужно рассматривать.
Существует техническая проблема в том, что аудит часто имеет юридические требования. Кроме того, аудит часто выполняется внутри приложения, как например: есть пользовательский интерфейс, чтобы увидеть, кто что изменил, потому что пользователям / отделу соответствия может понадобиться проверить это. Кроме того, аудит может иметь юридические требования (запись на WORM-носитель один раз, чтобы с ним нельзя было манипулировать, хранение данных в течение х лет).
Пример: У меня есть торговое приложение. Все изменения ордеров подвергаются аудиту - у вас есть OrderStatus и OrderStatusHistory. Это не является техническим - и история является частью интерфейса приложения.
Ведение журнала - это чисто технический момент. Совершенно нормально отключать его иногда, или поручать администраторам извлекать файлы журнала.