コンピュータにおけるロギングとは、コンピュータシステム内で発生する問題、エラー、または現在の動作に関する広範な情報などのイベントを記録することです。これらのイベントは、オペレーティングシステムまたは他のソフトウェアで発生する可能性があります。各イベントごとにメッセージまたはログエントリが記録されます。これらのログメッセージは、システムの動作を監視および理解したり、問題をデバッグしたり、監査中に使用したりできます。ロギングは、システムの動作を一元的に把握するために、マルチユーザーソフトウェアにおいて特に重要です。
最も単純なケースでは、メッセージはログファイルと呼ばれるファイルに書き込まれます。[ 1 ]あるいは、メッセージは専用のログシステムまたはログ管理ソフトウェアに書き込まれ、データベースまたは別のコンピュータシステムに保存されます。
具体的には、トランザクションログとは、システムと当該システムのユーザーとの間の通信のログ[ 2 ]、または端末から当該システムに対して行われたトランザクションの種類、内容、または時間を自動的にキャプチャするデータ収集方法[ 3 ]です。Web検索の場合、トランザクションログとは、Web検索エンジンと、そのWeb検索エンジンで情報を検索しているユーザーとの間の検索エピソード中に発生したやり取りの電子記録です。
多くのオペレーティングシステム、ソフトウェアフレームワーク、およびプログラムにはログシステムが含まれています。広く使用されているログ標準は、 IETF RFC 5424で定義されているSyslogです。 [ 4 ] Syslog 標準により、専用の標準化されたサブシステムがログメッセージを生成、フィルタリング、記録、および分析できるようになります。これにより、ソフトウェア開発者は独自のログシステムを設計およびコーディングする必要がなくなります。[ 5 ] [ 6 ] [ 7 ]
イベントログは、システムの実行中に発生するイベントを記録するもので、システムの動作状況を把握したり、問題を診断したりするために利用できます。特にユーザーとのインタラクションが少ないアプリケーションの場合、イベントログを理解することは非常に重要です。
複数のソースからのログファイルエントリを組み合わせることも有効です。異なる組み合わせでは、異なるサーバー上の関連イベントとの相関関係がより良くなる場合があります。他のソリューションでは、ネットワーク全体のクエリとレポートを使用します。[ 8 ] [ 9 ]
ほとんどのデータベースシステムは、何らかのトランザクションログを保持していますが、これは主に後で分析するための監査証跡として意図されたものではなく、人間が読めるように意図されたものでもありません。これらのログは、データベースがクラッシュやその他のデータエラーから回復し、保存されたデータを一貫した状態に維持できるように、保存されたデータへの変更を記録します。したがって、データベースシステムは通常、一般的なイベントログとトランザクションログの両方を持っています。[ 10 ] [ 11 ] [ 12 ] [ 13 ]
検索エンジン、イントラネット、ウェブサイトのトランザクションログからのデータは、オンラインでの情報探索行動に関する洞察を提供する。[ 14 ]この理解は、システム設計、インターフェース開発、情報アーキテクチャに役立つ。
インターネットリレーチャット(IRC)、インスタントメッセージング(IM)プログラム、チャット機能を備えたピアツーピアファイル共有クライアント、マルチプレイヤーゲーム(特にMMORPG)は、ユーザー間の公開チャット(IRCチャンネル/IM会議/MMO公開/パーティチャットメッセージ)とプライベートチャットの両方のテキスト通信をメッセージログとして自動的に保存することが一般的です。[ 15 ] メッセージログはほぼ普遍的にプレーンテキストファイルですが、IMおよびVoIPクライアント(テキストチャットをサポートするもの、例:Skype)は、読みやすくしたり暗号化を有効にするために、 HTMLファイルまたはカスタム形式で保存する場合があります。
IRCソフトウェアの場合、メッセージログにはシステム/サーバーメッセージやチャンネルおよびユーザーの変更に関連するエントリ(トピックの変更、ユーザーの参加/退出/キック/禁止、ニックネームの変更、ユーザーのステータスの変更など)が含まれることが多く、該当チャンネルのメッセージ/イベントログのようなものです。しかし、このようなログは、ユーザーが特定のチャンネルに接続していた期間のユーザーに見えるイベントのみを記録するため、真のIRCサーバーイベントログとは比較になりません。
インスタントメッセージングやVoIPクライアントは、ユーザーのプライバシーを強化するために暗号化されたログを保存する機能を提供することが多い。これらのログは復号化して表示するにはパスワードが必要で、多くの場合、それぞれの書き込みアプリケーションによって処理される。Signalなどのプライバシー重視のメッセージングサービスの中には、ユーザーに関するログを最小限にしか記録せず、接続時間のみの情報しか記録しないものもある。[ 16 ]

サーバーログとは、サーバーが自動的に作成・管理するログファイル(または複数のファイル)であり、サーバーが行ったアクティビティの一覧で構成されています。
典型的な例として、ページ要求の履歴を保持するWeb サーバーログがあります。W3CはWeb サーバー ログ ファイル用の標準フォーマット (共通ログ フォーマット) を維持していますが、他の独自のフォーマットも存在します。 [ 9 ]一部のサーバーは、人間が読める標準ではなく、コンピューターが読めるフォーマット ( JSONなど) に情報をログ記録できます。[ 17 ]より新しいエントリは通常、ファイルの末尾に追加されます。クライアントIP アドレス、要求日時、要求されたページ、HTTPコード、配信されたバイト数、ユーザー エージェント、リファラーなどの要求に関する情報が通常追加されます。このデータは、単一のファイルに結合することも、アクセス ログ、エラーログ、リファラー ログなどの個別のログに分割することもできます。ただし、サーバー ログは通常、ユーザー固有の情報を収集しません。
これらのファイルは通常、一般のインターネットユーザーにはアクセスできず、ウェブマスターまたはインターネットサービスの管理者のみがアクセスできます。サーバーログの統計分析は、時間帯、曜日、参照元、ユーザーエージェント別にトラフィックパターンを調べるために使用できます。ウェブサーバーログの分析は、効率的なウェブサイト管理、適切なホスティングリソースの確保、および販売活動の微調整に役立ちます。
ログファイルとは、特定のシステムに関連するイベント、動作、および状態の自動生成されタイムスタンプが付与されたドキュメントを登録するために使用されるテキストファイルまたはXMLファイルです。