lnav is a console-based log file viewer written in C++. Ideal for small-scale environments, lnav allows users to open and monitor one or more log files in a single log view, while unzipping any compressed log files on the fly.
It can detect a number of common log formats (e.g., used by syslog, CUPS, VMware ESXi/vCenter, strace, sudo, dpkg.log), as well as any custom-defined formats. For visual aid, log data is syntax-highlighted and shown either in timeline view or in prett-print view (for structured XML/JSON). lnav can filter logs with regular expressions, and perform live SQL queries on log files in real-time. lnav can store information about the currently opened log files as a session, and the session can be reloaded later, which will restore things like the last position of log files being examined, active searches, and log filters. lnav can also be used in a headless mode, where it performs a set of predefined operations or queries on log files to produce results from the command line.