2023-08-25 04:10:54 +00:00
|
|
|
|
]8;;https://github.com/tstack/lnav/actions?query=workflow%3Aci-build\[4m🖼 Build[1][0m]8;;\[4m[2][0m ]8;;https://docs.lnav.org\[4m🖼 Docs[3][0m]8;;\[4m[4][0m ]8;;https://coveralls.io/github/tstack/lnav?branch=master\[4m🖼 Coverage Status[5][0m]8;;\[4m[6][0m ]8;;https://snapcraft.io/lnav\[4m🖼 lnav[7][0m]8;;\[4m[8][0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - https://github.com/tstack/lnav/workflows/ci-build/badge.svg
|
2022-09-20 20:51:56 +00:00
|
|
|
|
▌[2] - https://github.com/tstack/lnav/actions?query=workflow%3Aci-build
|
|
|
|
|
▌[3] - https://readthedocs.org/projects/lnav/badge/?version=latest&style=plastic
|
2022-07-23 06:37:25 +00:00
|
|
|
|
▌[4] - https://docs.lnav.org
|
2022-09-20 20:51:56 +00:00
|
|
|
|
▌[5] - https://coveralls.io/repos/github/tstack/lnav/badge.svg?branch=master
|
|
|
|
|
▌[6] - https://coveralls.io/github/tstack/lnav?branch=master
|
2022-08-29 01:55:32 +00:00
|
|
|
|
▌[7] - https://snapcraft.io/lnav/badge.svg
|
2022-07-23 06:37:25 +00:00
|
|
|
|
▌[8] - https://snapcraft.io/lnav
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
]8;;https://discord.gg/erBPnKwz7R\[4m🖼 [0m]8;;\]8;;https://discord.gg/erBPnKwz7R\[4mDiscord Logo[0m]8;;\]8;;https://discord.gg/erBPnKwz7R\[4m[1][0m]8;;\[4m[2][0m
|
2022-08-17 20:34:10 +00:00
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
▌[1] - https://assets-global.website-files.com/6257adef93867e50d84d30e2/62594fddd654fc29fcc07359_cb48d2a8d4991281d7a6a95d2f58195e.svg
|
|
|
|
|
▌[2] - https://discord.gg/erBPnKwz7R
|
2022-08-17 20:34:10 +00:00
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
[4mThis is the source repository for [0m[1m[4mlnav[0m[4m, visit [0m]8;;https://lnav.org\[4mhttps://lnav.org[0m]8;;\[4m[1][0m[4m for[0m
|
2022-08-29 01:55:32 +00:00
|
|
|
|
[4ma high level overview.[0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - https://lnav.org
|
|
|
|
|
|
|
|
|
|
[1m[35mLNAV – The Logfile Navigator[0m
|
|
|
|
|
|
|
|
|
|
The Log File Navigator, [1mlnav[0m for short, is an advanced log file viewer
|
|
|
|
|
for the small-scale. It is a terminal application that can understand
|
|
|
|
|
your log files and make it easy for you to find problems with little
|
|
|
|
|
to no setup.
|
|
|
|
|
|
|
|
|
|
[1mScreenshot[0m
|
|
|
|
|
|
|
|
|
|
The following screenshot shows a syslog file. Log lines are displayed
|
|
|
|
|
with highlights. Errors are red and warnings are yellow.
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
]8;;docs/assets/images/lnav-syslog.png\[4m🖼 Screenshot[1][0m]8;;\[4m[2][0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - file://{top_srcdir}/docs/assets/images/lnav-syslog-thumb.png
|
|
|
|
|
▌[2] - file://{top_srcdir}/docs/assets/images/lnav-syslog.png
|
|
|
|
|
|
|
|
|
|
[1mFeatures[0m
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
[33m•[0m Log messages from different files are collated
|
|
|
|
|
together into a single view
|
2022-07-23 06:37:25 +00:00
|
|
|
|
[33m•[0m Automatic detection of log format
|
|
|
|
|
[33m•[0m Automatic decompression of GZip and BZip2 files
|
|
|
|
|
[33m•[0m Filter log messages based on regular expressions
|
|
|
|
|
[33m•[0m Use SQL to analyze your logs
|
|
|
|
|
[33m•[0m And more...
|
|
|
|
|
|
|
|
|
|
[1mInstallation[0m
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
]8;;https://github.com/tstack/lnav/releases/latest#release-artifacts\[4mDownload a statically-linked binary for Linux/MacOS from the release[0m]8;;\
|
|
|
|
|
]8;;https://github.com/tstack/lnav/releases/latest#release-artifacts\[4mpage[0m]8;;\[4m[1][0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - https://github.com/tstack/lnav/releases/latest#release-artifacts
|
|
|
|
|
|
|
|
|
|
[1mUsage[0m
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
The only file installed is the executable, [37m[40m lnav [0m. You can execute it
|
2022-07-23 06:37:25 +00:00
|
|
|
|
with no arguments to view the default set of files:
|
|
|
|
|
|
|
|
|
|
▌[37m[40m$ lnav [0m
|
|
|
|
|
|
|
|
|
|
You can view all the syslog messages by running:
|
|
|
|
|
|
|
|
|
|
▌[37m[40m$ lnav /var/log/messages* [0m
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
[4mUsage with [0m[4m[37m[40m systemd-journald [0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
On systems running [37m[40m systemd-journald [0m, you can use [37m[40m lnav [0m as the
|
2022-07-23 06:37:25 +00:00
|
|
|
|
pager:
|
|
|
|
|
|
|
|
|
|
▌[37m[40m$ journalctl | lnav [0m
|
|
|
|
|
|
|
|
|
|
or in follow mode:
|
|
|
|
|
|
|
|
|
|
▌[37m[40m$ journalctl -f | lnav [0m
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
Since [37m[40m journalctl [0m's default output format omits the year, if you are
|
2022-07-23 06:37:25 +00:00
|
|
|
|
viewing logs which span multiple years you will need to change the
|
2023-08-31 05:46:07 +00:00
|
|
|
|
output format to include the year, otherwise [37m[40m lnav [0m gets confused:
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[37m[40m$ journalctl -o short-iso | lnav [0m
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
It is also possible to use [37m[40m journalctl [0m's json output format and
|
|
|
|
|
[37m[40m lnav [0mwill make use of additional fields such as PRIORITY and
|
|
|
|
|
_SYSTEMD_UNIT:
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[37m[40m$ journalctl -o json | lnav [0m
|
|
|
|
|
|
|
|
|
|
In case some MESSAGE fields contain special characters such as ANSI
|
|
|
|
|
color codes which are considered as unprintable by journalctl,
|
2023-08-31 05:46:07 +00:00
|
|
|
|
specifying [37m[40m journalctl [0m's [37m[40m -a [0m option might be preferable in order to
|
2022-08-17 20:34:10 +00:00
|
|
|
|
output those messages still in a non-binary representation:
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[37m[40m$ journalctl -a -o json | lnav [0m
|
|
|
|
|
|
|
|
|
|
If using systemd v236 or newer, the output fields can be limited to
|
2023-08-31 05:46:07 +00:00
|
|
|
|
the ones actually recognized by [37m[40m lnav [0m for increased efficiency:
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
2022-09-20 20:51:56 +00:00
|
|
|
|
▌[37m[40m$ journalctl -o json --output-fields=MESSAGE,PRIORITY,_PID,SYSLOG_IDENTIFIER,_SYSTEMD_UNIT | lnav [0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
If your system has been running for a long time, for increased
|
2023-08-31 05:46:07 +00:00
|
|
|
|
efficiency you may want to limit the number of log lines fed into
|
|
|
|
|
[37m[40m lnav [0m, e.g. via [37m[40m journalctl [0m's [37m[40m -n [0m or [37m[40m --since=... [0m options.
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
In case of a persistent journal, you may want to limit the number of
|
2023-08-31 05:46:07 +00:00
|
|
|
|
log lines fed into [37m[40m lnav [0m via [37m[40m journalctl [0m's [37m[40m -b [0m option.
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
2022-08-17 20:34:10 +00:00
|
|
|
|
[1mSupport[0m
|
|
|
|
|
|
|
|
|
|
Please file issues on this repository or use the discussions section.
|
|
|
|
|
The following alternatives are also available:
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
[33m•[0m ]8;;mailto:support@lnav.org\[4msupport@lnav.org[0m]8;;\[4m[1][0m
|
|
|
|
|
[33m•[0m ]8;;https://discord.gg/erBPnKwz7R\[4mDiscord[0m]8;;\[4m[2][0m
|
|
|
|
|
[33m•[0m ]8;;https://groups.google.com/g/lnav\[4mGoogle Groups[0m]8;;\[4m[3][0m
|
2022-08-17 20:34:10 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - mailto:support@lnav.org
|
|
|
|
|
▌[2] - https://discord.gg/erBPnKwz7R
|
|
|
|
|
▌[3] - https://groups.google.com/g/lnav
|
|
|
|
|
|
2022-07-23 06:37:25 +00:00
|
|
|
|
[1mLinks[0m
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
[33m•[0m ]8;;https://lnav.org\[4mMain Site[0m]8;;\[4m[1][0m
|
|
|
|
|
[33m•[0m ]8;;https://docs.lnav.org\[1m[4mDocumentation[0m]8;;\[4m[2][0m on Read the Docs
|
|
|
|
|
[33m•[0m ]8;;ARCHITECTURE.md\[4mInternal Architecture[0m]8;;\[4m[3][0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - https://lnav.org
|
|
|
|
|
▌[2] - https://docs.lnav.org
|
|
|
|
|
▌[3] - file://{top_srcdir}/ARCHITECTURE.md
|
|
|
|
|
|
|
|
|
|
[1mContributing[0m
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
[33m•[0m ]8;;https://github.com/sponsors/tstack\[4mBecome a Sponsor on GitHub[0m]8;;\[4m[1][0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
▌[1] - https://github.com/sponsors/tstack
|
|
|
|
|
|
|
|
|
|
[4mBuilding From Source[0m
|
|
|
|
|
|
|
|
|
|
[4mPrerequisites[0m
|
|
|
|
|
|
|
|
|
|
The following software packages are required to build lnav:
|
|
|
|
|
|
|
|
|
|
[33m•[0m gcc/clang - A C++14-compatible compiler.
|
2022-09-12 14:18:26 +00:00
|
|
|
|
[33m•[0m libpcre2 - The Perl Compatible Regular Expression v2
|
|
|
|
|
(PCRE2) library.
|
2023-08-31 05:46:07 +00:00
|
|
|
|
[33m•[0m sqlite - The SQLite database engine. Version
|
|
|
|
|
3.9.0 or higher is required.
|
2022-07-23 06:37:25 +00:00
|
|
|
|
[33m•[0m ncurses - The ncurses text UI library.
|
|
|
|
|
[33m•[0m readline - The readline line editing library.
|
|
|
|
|
[33m•[0m zlib - The zlib compression library.
|
|
|
|
|
[33m•[0m bz2 - The bzip2 compression library.
|
|
|
|
|
[33m•[0m libcurl - The cURL library for downloading files
|
|
|
|
|
from URLs. Version 7.23.0 or higher is required.
|
2023-08-31 05:46:07 +00:00
|
|
|
|
[33m•[0m libarchive - The libarchive library for opening
|
|
|
|
|
archive files, like zip/tgz.
|
2022-07-23 06:37:25 +00:00
|
|
|
|
[33m•[0m wireshark - The [35m'tshark'[0m program is used to interpret
|
|
|
|
|
pcap files.
|
|
|
|
|
|
|
|
|
|
[4mBuild[0m
|
|
|
|
|
|
|
|
|
|
Lnav follows the usual GNU style for configuring and installing
|
|
|
|
|
software:
|
|
|
|
|
|
2023-08-31 05:46:07 +00:00
|
|
|
|
Run [37m[40m ./autogen.sh [0m if compiling from a cloned repository.
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
2022-08-22 05:02:46 +00:00
|
|
|
|
▌[33m[40m$ [0m[37m[40m./configure [0m
|
|
|
|
|
▌[33m[40m$ [0m[37m[40mmake [0m
|
|
|
|
|
▌[33m[40m$ [0m[37m[40msudo make install [0m
|
2022-07-23 06:37:25 +00:00
|
|
|
|
|
|
|
|
|
[1mSee Also[0m
|
|
|
|
|
|
2023-08-25 04:10:54 +00:00
|
|
|
|
]8;;https://github.com/rcoh/angle-grinder\[4mAngle-grinder[0m]8;;\[4m[1][0m is a tool to slice and dice log files on the
|
2022-07-23 06:37:25 +00:00
|
|
|
|
command-line. If you're familiar with the SumoLogic query language,
|
|
|
|
|
you might find this tool more comfortable to work with.
|
|
|
|
|
|
|
|
|
|
▌[1] - https://github.com/rcoh/angle-grinder
|