summaryrefslogtreecommitdiffstats
path: root/test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-07 04:48:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-07 04:48:35 +0000
commit207df6fc406e81bfeebdff7f404bd242ff3f099f (patch)
treea1a796b056909dd0a04ffec163db9363a8757808 /test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out
parentReleasing progress-linux version 0.11.2-1~progress7.99u1. (diff)
downloadlnav-207df6fc406e81bfeebdff7f404bd242ff3f099f.tar.xz
lnav-207df6fc406e81bfeebdff7f404bd242ff3f099f.zip
Merging upstream version 0.12.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out')
-rw-r--r--test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out157
1 files changed, 110 insertions, 47 deletions
diff --git a/test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out b/test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out
index a39be1e..1f28ffd 100644
--- a/test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out
+++ b/test/expected/test_text_file.sh_5b51b55dff7332c5bee2c9b797c401c5614d574a.out
@@ -1,4 +1,4 @@
-Build[1][2] Docs[3][4] Coverage Status[5][6] lnav[7][8]
+]8;;https://github.com/tstack/lnav/actions?query=workflow%3Aci-build\🖼 Build[1]]8;;\[2] ]8;;https://docs.lnav.org\🖼 Docs[3]]8;;\[4] ]8;;https://coveralls.io/github/tstack/lnav?branch=master\🖼 Coverage Status[5]]8;;\[6] ]8;;https://snapcraft.io/lnav\🖼 lnav[7]]8;;\[8]
▌[1] - https://github.com/tstack/lnav/workflows/ci-build/badge.svg
▌[2] - https://github.com/tstack/lnav/actions?query=workflow%3Aci-build
@@ -9,61 +9,122 @@
▌[7] - https://snapcraft.io/lnav/badge.svg
▌[8] - https://snapcraft.io/lnav
-<img
-src="https://assets-global.website-files.com/6257adef93867e50d84d30e2/62594fddd654fc29fcc07359_cb48d2a8d4991281d7a6a95d2f58195e.svg"
-height="20"/>[1]
+]8;;https://discord.gg/erBPnKwz7R\🖼 ]8;;\]8;;https://discord.gg/erBPnKwz7R\Discord Logo]8;;\]8;;https://discord.gg/erBPnKwz7R\[1]]8;;\[2]
- ▌[1] - https://discord.gg/erBPnKwz7R
+ ▌[1] - https://assets-global.website-files.com/6257adef93867e50d84d30e2/62594fddd654fc29fcc07359_cb48d2a8d4991281d7a6a95d2f58195e.svg
+ ▌[2] - https://discord.gg/erBPnKwz7R
-This is the source repository for lnav, visit https://lnav.org[1] for
+This is the source repository for lnav, visit ]8;;https://lnav.org\https://lnav.org]8;;\[1] for
a high level overview.
▌[1] - https://lnav.org
LNAV – The Logfile Navigator
-The Log File Navigator, lnav 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.
+The Logfile Navigator is a log file viewer for the terminal. Given a
+set of files/directories, lnav will:
+
+ • decompress as needed;
+ • detect their format;
+ • merge the files together by time into a single view;
+ • tail the files, follow renames, find new files in
+ directories;
+ • build an index of errors and warnings;
+ • ]8;;https://docs.lnav.org/en/latest/formats.html#json-lines\pretty-print JSON-lines]8;;\[1].
+
+ ▌[1] - https://docs.lnav.org/en/latest/formats.html#json-lines
+
+Then, in the lnav TUI, you can:
+
+ • jump quickly to the previous/next error (]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\press ]8;;\]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\ e ]8;;\]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\/]8;;\]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\ E ]8;;\[1]);
+ • search using regular expressions (]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\press ]8;;\]8;;https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation\ / ]8;;\[2]);
+ • highlight text with a regular expression (]8;;https://docs.lnav.org/en/latest/commands.html#highlight-pattern\ :highlight ]8;;\[3]
+ command);
+ • filter messages using ]8;;https://docs.lnav.org/en/latest/usage.html#regular-expression-match\regular expressions]8;;\[4] or ]8;;https://docs.lnav.org/en/latest/usage.html#sqlite-expression\SQLite]8;;\
+ ]8;;https://docs.lnav.org/en/latest/usage.html#sqlite-expression\expressions]8;;\[5];
+ • pretty-print structured text (]8;;https://docs.lnav.org/en/latest/ui.html#pretty\press ]8;;\]8;;https://docs.lnav.org/en/latest/ui.html#pretty\ P ]8;;\[6]);
+ • view a histogram of messages over time (]8;;https://docs.lnav.org/en/latest/ui.html#hist\press ]8;;\]8;;https://docs.lnav.org/en/latest/ui.html#hist\ i ]8;;\[7]);
+ • query messages using SQLite (]8;;https://docs.lnav.org/en/latest/sqlext.html\press ]8;;\]8;;https://docs.lnav.org/en/latest/sqlext.html\ ; ]8;;\[8])
+
+ ▌[1] - https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation
+ ▌[2] - https://docs.lnav.org/en/latest/hotkeys.html#spatial-navigation
+ ▌[3] - https://docs.lnav.org/en/latest/commands.html#highlight-pattern
+ ▌[4] - https://docs.lnav.org/en/latest/usage.html#regular-expression-match
+ ▌[5] - https://docs.lnav.org/en/latest/usage.html#sqlite-expression
+ ▌[6] - https://docs.lnav.org/en/latest/ui.html#pretty
+ ▌[7] - https://docs.lnav.org/en/latest/ui.html#hist
+ ▌[8] - https://docs.lnav.org/en/latest/sqlext.html
Screenshot
-The following screenshot shows a syslog file. Log lines are displayed
-with highlights. Errors are red and warnings are yellow.
+The following screenshot shows a mix of syslog and web access log
+files. Failed requests are shown in red. Identifiers, like IP
+address and PIDs are semantically highlighted.
-Screenshot[1][2]
+]8;;docs/assets/images/lnav-front-page.png\🖼 Screenshot[1]]8;;\[2]
- ▌[1] - file://{top_srcdir}/docs/assets/images/lnav-syslog-thumb.png
- ▌[2] - file://{top_srcdir}/docs/assets/images/lnav-syslog.png
+ ▌[1] - file://{top_srcdir}/docs/assets/images/lnav-front-page.png
+ ▌[2] - file://{top_srcdir}/docs/assets/images/lnav-front-page.png
-Features
+Why not just use  tail / grep / less ?
- • Log messages from different files are collated together
- into a single view
- • Automatic detection of log format
- • Automatic decompression of GZip and BZip2 files
- • Filter log messages based on regular expressions
- • Use SQL to analyze your logs
- • And more...
+The standard Unix utilities are great for processing raw text lines,
+however, they do not understand log messages. Tail can watch multiple
+files at a time, but it won't display messages in order by time and
+you can't scroll backwards. Grep will only find matching lines, but
+won't return a full multi-line log message. Less can only display a
+single file at a time. Also, none of these basic tools handle
+compressed files.
+
+Try online before installing
+
+You can SSH into a demo node to play with lnav before installing.
+
+The "playground" account starts lnav with a couple of log files as an
+example:
+
+]8;;ssh://playground@demo.lnav.org\ $ ssh playground@demo.lnav.org ]8;;\[1]
+
+ ▌[1] - ssh://playground@demo.lnav.org
+
+The "tutorial 1" account is an interactive tutorial that can teach you
+the basics of operation:
+
+]8;;ssh://tutorial1@demo.lnav.org\ $ ssh tutorial1@demo.lnav.org ]8;;\[1]
+
+ ▌[1] - ssh://tutorial1@demo.lnav.org
Installation
-Download a statically-linked binary for Linux/MacOS from the release
-page[1]
+]8;;https://github.com/tstack/lnav/releases/latest#release-artifacts\Download a statically-linked binary for Linux/MacOS from the release]8;;\
+]8;;https://github.com/tstack/lnav/releases/latest#release-artifacts\page]8;;\[1]
▌[1] - https://github.com/tstack/lnav/releases/latest#release-artifacts
+Brew on MacOS
+
+ ▌$ brew install lnav 
+
Usage
-The only file installed is the executable,  lnav . You can execute it
-with no arguments to view the default set of files:
+Simply point lnav at the files or directories you want to monitor, it
+will figure out the rest:
- ▌$ lnav 
+ ▌$ lnav /path/to/file1 /path/to/dir ... 
-You can view all the syslog messages by running:
+The lnav TUI will pop up right away and begin indexing the files.
+Progress is displayed in the "Files" panel at the bottom. Once the
+indexing has finished, the LOG view will display the log messages that
+were recognized[^1]. You can then use the usual hotkeys to move around
+the view (arrow keys or  j / k / h / l  to move down/up/left/right).
- ▌$ lnav /var/log/messages* 
+See the ]8;;https://docs.lnav.org/en/latest/usage.html\Usage section]8;;\[1] of the online documentation for more
+information.
+
+ ▌[1] - https://docs.lnav.org/en/latest/usage.html
+
+[^1]: Files that do not contain log messages can be seen in the TEXT
+view (reachable by pressing  t ).
Usage with  systemd-journald 
@@ -82,8 +143,9 @@ output format to include the year, otherwise  lnav  gets confused:
▌$ journalctl -o short-iso | lnav 
-It is also possible to use  journalctl 's json output format and  lnav
-will make use of additional fields such as PRIORITY and _SYSTEMD_UNIT:
+It is also possible to use  journalctl 's json output format and
+ lnav will make use of additional fields such as PRIORITY and
+_SYSTEMD_UNIT:
▌$ journalctl -o json | lnav 
@@ -100,8 +162,8 @@ the ones actually recognized by  lnav  for increased efficiency:
▌$ journalctl -o json --output-fields=MESSAGE,PRIORITY,_PID,SYSLOG_IDENTIFIER,_SYSTEMD_UNIT | lnav 
If your system has been running for a long time, for increased
-efficiency you may want to limit the number of log lines fed into  lnav
-, e.g. via  journalctl 's  -n  or  --since=...  options.
+efficiency you may want to limit the number of log lines fed into
+ lnav , e.g. via  journalctl 's  -n  or  --since=...  options.
In case of a persistent journal, you may want to limit the number of
log lines fed into  lnav  via  journalctl 's  -b  option.
@@ -111,9 +173,9 @@ log lines fed into  lnav  via  journalctl 's [
Please file issues on this repository or use the discussions section.
The following alternatives are also available:
- • support@lnav.org[1]
- • Discord[2]
- • Google Groups[3]
+ • ]8;;mailto:support@lnav.org\support@lnav.org]8;;\[1]
+ • ]8;;https://discord.gg/erBPnKwz7R\Discord]8;;\[2]
+ • ]8;;https://groups.google.com/g/lnav\Google Groups]8;;\[3]
▌[1] - mailto:support@lnav.org
▌[2] - https://discord.gg/erBPnKwz7R
@@ -121,9 +183,9 @@ The following alternatives are also available:
Links
- • Main Site[1]
- • Documentation[2] on Read the Docs
- • Internal Architecture[3]
+ • ]8;;https://lnav.org\Main Site]8;;\[1]
+ • ]8;;https://docs.lnav.org\Documentation]8;;\[2] on Read the Docs
+ • ]8;;ARCHITECTURE.md\Internal Architecture]8;;\[3]
▌[1] - https://lnav.org
▌[2] - https://docs.lnav.org
@@ -131,7 +193,7 @@ The following alternatives are also available:
Contributing
- • Become a Sponsor on GitHub[1]
+ • ]8;;https://github.com/sponsors/tstack\Become a Sponsor on GitHub]8;;\[1]
▌[1] - https://github.com/sponsors/tstack
@@ -144,18 +206,20 @@ The following software packages are required to build lnav:
• gcc/clang - A C++14-compatible compiler.
• libpcre2 - The Perl Compatible Regular Expression v2
(PCRE2) library.
- • sqlite - The SQLite database engine. Version 3.9.0
- or higher is required.
+ • sqlite - The SQLite database engine. Version
+ 3.9.0 or higher is required.
• ncurses - The ncurses text UI library.
• readline - The readline line editing library.
• zlib - The zlib compression library.
• bz2 - The bzip2 compression library.
• libcurl - The cURL library for downloading files
from URLs. Version 7.23.0 or higher is required.
- • libarchive - The libarchive library for opening archive
- files, like zip/tgz.
+ • libarchive - The libarchive library for opening
+ archive files, like zip/tgz.
• wireshark - The 'tshark' program is used to interpret
pcap files.
+ • cargo/rust - The Rust language is used to build the
+ PRQL compiler.
Build
@@ -170,9 +234,8 @@ Run  ./autogen.sh  if compiling from a cloned repository.
See Also
-Angle-grinder[1] is a tool to slice and dice log files on the
+]8;;https://github.com/rcoh/angle-grinder\Angle-grinder]8;;\[1] is a tool to slice and dice log files on the
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
-