In computing, a logfile (or simply log) is a file that records either the events which happen while an operating system or other software runs, or the personal messages between different users of a communication software. The act of keeping a logfile is called logging. In the simplest case, log messages are written to a single log file.
Many operating systems, software frameworks and user programs include some form of logging subsystem. A general standard outlining a logging system is the Syslog standard (described in RFC 5424), which allows the filtering and recording of log messages to be performed by a separate dedicated subsystem, rather than placing the onus on each application to provide its own ad hoc logging system.
Physical systems which have logging subsystems include process control systems, and black box recorders installed in aircraft. Logs in these cases might or might not be digital files in a modern computing sense.
Event logs record events taking place in the execution of a system in order to provide an audit trail that can be used to understand the activity of the system and to diagnose problems. They are essential to understand the activities of complex systems, particularly in the case of applications with little user interaction (such as server applications).
It can also be useful to combine log file entries from multiple sources. This approach, in combination with statistical analysis, may yield correlations between seemingly unrelated events on different servers. Other solutions employ network-wide querying and reporting.
Most database systems maintain some kind of transaction log, which are not mainly intended as an audit trail for later analysis, and are not intended to be human-readable. These logs record changes to the stored data to allow the database to recover from crashes or other data errors and maintain the stored data in a consistent state. Thus, database systems usually have both general event logs and transaction logs.
Internet Relay Chat (IRC), instant messaging (IM) programs, peer-to-peer file sharing clients with chat functions, and multiplayer games (especially MMORPGs) commonly have the ability to automatically log (i.e. save) textual communication, both public (IRC channel/IM conference/MMO public/party chat messages) and private chat messages between users.
Message logs are almost universally plain text files, but IM and VoIP clients (which supports textual chat, eg. Skype) might save them in HTML files or in a custom format to ease reading and encryption.
Internet Relay Chat (IRC)
In the case of IRC software, message logs often include system/server messages and entries related to room and user changes (eg. topic change, user joins/exits/kicks/bans, nickname changes, user status changes), making them more like a combined message/event log of the room in question, but such a log isn't comparable to a true IRC server event log, because it only records user-visible events for the time frame the user spent being connected to a certain room.
Instant messaging (IM)
Instant messaging and VoIP clients often offer the chance to store encrypted logfiles to enhance the user's privacy. These logs require a password to be decrypted and viewed, and they are often handled by their respective writing application.