web-dev-qa-db-ja.com

監査とログは、ソフトウェアシステムでまったく同じことを行っていますか?

一部のソフトウェアシステムには監査とログの機能があることがわかりました。これらの機能はどちらも同じことをしているようです-すべてのユーザーのアクションを舞台裏で記録します。監査とログのそれぞれのテーブルがありますデータベースに存在します。彼らが実際に同じことをしているのなら、開発者がシステムで重複した機能を開発した理由は何ですか?

13
Edison Chuang

私が取り組んだこととは、その性質上、両者には違いがあります。監査証跡は安全で腐りにくいですが、ログは腐敗しやすいです。その結果、機密情報や後で必要になる情報をログに記録することはありません。一方、監査証跡は安全です。簡単に滅びてはならないものです。

たとえば、銀行のソフトウェアでは、クレジットデビット、失敗したトランザクションなどのトランザクションを監査します。この監査はデータベースに保存されます。ログファイルは、ソフトウェアが失敗し、システムに入らなかったときにクラッシュしたトランザクションを保存する場合があります。

12
DPD

監査を使用してユーザーのアクションを追跡し、現在の値を再構築します。

たとえば、giftcardvaluesを持つテーブルがあり、そのテーブルで現在の値が$ 100、元の値が$ 200であることがわかります。

正解です。わかりません...

その質問に答えるためには、その間に何が起こったかを知る必要があります。

そのため、次のように、そのテーブルに対するすべてのアクションを保存する監査テーブルがあります。

jan。 1 init $ 200

jan。 3追加$ 300

jan。 5 $ 350を引く

jan。 7チェック値(150が返されます)

jan。 8 $ 50を引く

今、私はユーザーが電話して言ったら何を言うべきかを知っています:ねえ、私の$ 100はどこに行きましたか?

「通常の」ロギングは、エラーの記録、情報の処理などに使用されます。たとえば、監査情報とギフトカードの実際の値が一致しない場合にアプリをデバッグできるため、問題の原因を確認できますコード。

7
Michel