En informatique , la journalisation est l'acte de tenir un journal des événements qui se produisent dans un système informatique, tels que des problèmes, des erreurs ou simplement des informations sur les opérations en cours. Ces événements peuvent se produire dans le système d'exploitation ou dans d'autres logiciels . Un message ou une entrée de journal est enregistré pour chaque événement de ce type. Ces messages de journal peuvent ensuite être utilisés pour surveiller et comprendre le fonctionnement du système, pour déboguer des problèmes ou lors d'un audit . La journalisation est particulièrement importante dans les logiciels multi-utilisateurs , pour avoir une vue d'ensemble centrale du fonctionnement du système.
Dans le cas le plus simple, les messages sont écrits dans un fichier, appelé fichier journal . Alternativement, les messages peuvent être écrits dans un système de journalisation dédié ou dans un logiciel de gestion de journaux , où ils sont stockés dans une base de données ou sur un autre système informatique.
Plus précisément, un journal de transactions est un journal des communications entre un système et les utilisateurs de ce système, ou une méthode de collecte de données qui capture automatiquement le type, le contenu ou l'heure des transactions effectuées par une personne à partir d'un terminal avec ce système. Pour la recherche sur le Web, un journal de transactions est un enregistrement électronique des interactions qui se sont produites au cours d'un épisode de recherche entre un moteur de recherche Web et des utilisateurs recherchant des informations sur ce moteur de recherche Web.
De nombreux systèmes d'exploitation, cadres logiciels et programmes incluent un système de journalisation. Une norme de journalisation largement utilisée est Syslog , définie dans l'IETF RFC 5424. La norme Syslog permet à un sous-système dédié et standardisé de générer, filtrer, enregistrer et analyser les messages de journal. Cela évite aux développeurs de logiciels d'avoir à concevoir et à coder leurs systèmes de journalisation ad hoc.
Types
Journaux d'événements
Les journaux d'événements enregistrent les événements qui se produisent au cours de l'exécution d'un système et peuvent être utilisés pour comprendre l'activité du système et diagnostiquer les problèmes. Ils sont essentiels à comprendre, en particulier dans le cas d'applications avec peu d'interaction avec l'utilisateur.
Il peut également être utile de combiner les entrées du fichier journal provenant de plusieurs sources. Il s'agit d'une combinaison différente qui peut donner lieu à des événements liés sur différents serveurs. D'autres solutions utilisent des requêtes et des rapports à l'échelle du réseau .
Journaux de transactions
La plupart des systèmes de bases de données conservent une sorte de journal des transactions , qui n'est pas principalement destiné à servir de piste d'audit pour une analyse ultérieure et n'est pas destiné à être lisible par l'homme . Ces journaux enregistrent les modifications apportées aux données stockées pour permettre à la base de données de récupérer après des pannes ou d'autres erreurs de données et de maintenir les données stockées dans un état cohérent. Ainsi, les systèmes de bases de données disposent généralement à la fois de journaux d'événements généraux et de journaux de transactions.
L'utilisation des données stockées dans les journaux de transactions des moteurs de recherche Web, des intranets et des sites Web peut fournir des informations précieuses pour comprendre le processus de recherche d'informations des internautes. Cette compréhension peut éclairer la conception des systèmes d'information, le développement des interfaces et la conception de l'architecture de l'information pour les collections de contenu.
Journaux de messages
Les programmes de messagerie instantanée (IM) , les clients de partage de fichiers peer-to-peer avec fonctions de chat et les jeux multijoueurs (en particulier les MMORPG ) ont généralement la possibilité d'enregistrer automatiquement les communications textuelles, à la fois publiques (canal IRC/conférence IM/messages de chat public/de groupe MMO) et privées entre utilisateurs, sous forme de journaux de messages. Les journaux de messages sont presque universellement des fichiers texte brut, mais les clients de messagerie instantanée et VoIP (qui prennent en charge le chat textuel, par exemple Skype) peuvent les enregistrer dans des fichiers HTML ou dans un format personnalisé pour faciliter la lecture ou permettre le cryptage .
Dans le cas des logiciels IRC, les journaux de messages incluent souvent des messages système/serveur et des entrées liées aux changements de canal et d'utilisateur (par exemple, changement de sujet, entrées/sorties/ expulsions / interdictions d'utilisateur , changements de pseudonyme , changements de statut d'utilisateur), ce qui les rend davantage semblables à un journal combiné de messages/événements du canal en question, mais un tel journal n'est pas comparable à un véritable journal d'événements de serveur IRC, car il enregistre uniquement les événements visibles par l'utilisateur pendant la période pendant laquelle l'utilisateur est connecté à un certain canal.
Les clients de messagerie instantanée et VoIP offrent souvent la possibilité de stocker des journaux chiffrés pour améliorer la confidentialité de l'utilisateur. Ces journaux nécessitent un mot de passe pour être déchiffrés et consultés, et ils sont souvent gérés par leur application d'écriture respective. Certains services de messagerie axés sur la confidentialité, tels que Signal , enregistrent des journaux minimaux sur les utilisateurs, limitant leurs informations aux heures de connexion.
Journaux du serveur

Un journal de serveur est un fichier journal (ou plusieurs fichiers) créé et maintenu automatiquement par un serveur et composé d'une liste d'activités qu'il a effectuées.
Un exemple typique est un journal de serveur Web qui conserve un historique des demandes de pages. Le W3C maintient un format standard (le Common Log Format ) pour les fichiers journaux de serveur Web, mais d'autres formats propriétaires existent. Certains serveurs peuvent enregistrer des informations dans des formats lisibles par ordinateur (tels que JSON ) par opposition au format standard lisible par l'homme. Les entrées les plus récentes sont généralement ajoutées à la fin du fichier. Des informations sur la demande, notamment l'adresse IP du client , la date / heure de la demande , la page demandée, le code HTTP , les octets servis, l'agent utilisateur et le référent sont généralement ajoutées. Ces données peuvent être combinées dans un seul fichier ou séparées en journaux distincts, tels qu'un journal d'accès, un journal d'erreurs ou un journal de référent. Cependant, les journaux de serveur ne collectent généralement pas d'informations spécifiques à l'utilisateur.
Ces fichiers ne sont généralement pas accessibles aux utilisateurs d'Internet en général, mais uniquement au webmaster ou à un autre administrateur d'un service Internet. Une analyse statistique du journal du serveur peut être utilisée pour examiner les schémas de trafic par heure de la journée, jour de la semaine, référent ou agent utilisateur. L'analyse des journaux du serveur Web peut contribuer à une administration efficace du site Web, à des ressources d'hébergement adéquates et à l'optimisation des efforts de vente.