lnav v0.13.0
Interface changes:
- The prompt is now a custom implementation instead of readline.
Some highlights:-
In the DB prompt: pressing
CTRL+Lwill reformat the query and
switch the prompt to multi-line mode; error locations will be
highlighted. -
In multi-line mode, you can click and drag the status bar above
the prompt to resize the prompt. -
Pressing
CTRL+Oin the prompt will transfer the prompt to
contents to Visual Studio Code or the default text editor on
macOS.
You can then edit the file and run it from the|prompt with:|saved-prompt -
When editing a regular expression, like the search prompt or
for a filter, if the current pattern matches a line in the
view, the following word will be suggested.
For example, if the view has the text "foo bar baz" and you
type "foo ", the prompt will suggest "bar" and you can then
pressTABto complete. -
In the history listing, an icon indicates if the command or
query succeeded or failed. -
Mouse input works as expected: left-click positions the cursor
in a given location, and a click-drag will select text.
A right-click will copy the selected text to the system
clipboard.
-
- Pressing
F1in the prompt will show the help text for the
prompt itself.
The size of the prompt panel is expanded for readability. - When reading from stdin, the files used to store the content
will be rotated when they cross the/tuning/piper/max-size
threshold.
Previously, the name of the file in the TEXT view would just
be "stdin", but now it includes the rotation number. - The LOG and TEXT views will now display a message if they
contain no content to make it clear to the user that they
need to switch views or:opena file. - The HIST view now supports bookmarks, so you can use the usual
hotkeys to move to the next/previous time segment with
errors/warnings/marks. - In table cells, control characters are replaced with Unicode
symbols and highlighted with the 'hidden' style from the theme.
Features:
- The
:commentcommand will now switch the prompt to multi-line
mode and does syntax highlighting for Markdown directives in the
comment.
The rendered Markdown will also now be shown in the preview panel. - lnav code blocks in Markdown content now have a play button (▶)
next to commands that you can click on to run the command. - Scrolling right in the LOG view when at the start of a message
can hide the timestamp/level fields in the message and insert a
shorter timestamp column on the left side.
The column should take less space than the existing field and
aligns all timestamps across all log formats.
This feature is gated by the/ui/views/log/time-column
setting, with the following values:disabled: scrolling right works as normal and does not insert
the time column.enabled: scrolling right enables the time column.default: the time column is enabled and the default on startup.
- Added a
fuzzy_match()SQL function that compares a pattern to
a string and returns a score.
The algorithm used is the same as in lnav itself. - Added a
match_rowidcolumn to search tables to make it easier
to join multiple search tables together.
For example, when multiple log messages occur together in the
same sequence.
You can create search tables for each line and then join them
to query over the whole group of messages. - Added a
:write-debug-log-tocommand that can be used to write
lnav's internal debug log to a file. - Added a
:clear-adjusted-log-timecommand to clear the time offset
set by the:adjust-log-timecommand. - Added a
measure_with_unitsSQLite collation function that can
compare numbers with unit suffixes, like "10KB" or "1.2ms".
The:create-search-tablecommand will also use this collation
function for capture patterns that are likely to capture a number
with a unit. - Log messages now have permalinks that can be used to reference them
from other locations.
The permalink for a message is shown in the parser details overlay
(activated by pressingp).
Selecting the "Permalink:" line in the overlay and then pressing
cwill copy the link to your clipboard.
The link is also available in thelog_line_linkcolumn of the
log tables.
These permalinks can be used with the:gotocommand to move to
the log message.
They can also be used in log message comments as targets for
Markdown links, which can be clicked to jump to the message. - The
CTRL+Oshortcut is now bound to the:prev-location
command, so you can jump back to a previous location. - Render task marks in markdown.
- The demultiplexing feature has been extended to support JSON-lines
input files.
For example, an
export of search results from Graylog
can automatically be split into separate streams based on the
sourceproperty. - Added an
lnav_focused_msgSQL VIEW that returns a single row
with the columns from theall_logstable for the currently
focused log message. AnUPDATEof the mutable columns will
update the corresponding row in theall_logstable.
Bug Fixes:
- Should start up in tmux and line drawing should show up now as well.
- The default terminal colors will now be used in the default theme.
So, a light background with a dark foreground will be respected. - Improved performance of searches with lots of hits.
- Improved performance for compressed files.
- Improved performance for the timeline view.
- Copying a column with a text value in the DB overlay view.
- Generic logs read from stdin or exec'd were not working properly.
- The
:export-session-tocommand will now include:opencommands
for log files that were piped in to lnav or executed with the:sh
command. - The
:set-file-timezonecommand was not working correctly in some
cases. - The location of views should be restored from the session when filters
are active.