lnav v0.12.4
Features:
- Log message timestamps are now represented with microsecond
precision internally instead of just millisecond. - The
log_time
andlog_level
fields can now be hidden. - Added a
report-access-log
script that generates a report that
is similar to the output of the goaccess
utility. - Added a
find-msg
script that can be used to find the
next/previous message with a field that matches the value of the
field in the focused message. - Added a
find-chained-msg
script that can be used to find the
next/previous message where a target field matches the value of
the source field in the focused message. - Scripts can now specify their output format using the
@output-format:
documentation description.
This setting can affect the output of some commands, like
:write-table-to
which will output Markdown tables when the
output is set totext/markdown
. - Column alignment in Markdown tables is now supported.
- Added ecs_log for the Elastic Common Schema from @ba-didi.
- Added a Proxifier log format.
- Escape sequences for 24-bit color are now handled.
- The
-i
option for installing files will now copy.lnav
script files to theformats/installed
directory. - Added
italic
andstrike
to the text styling configuration. - DB query results can now be styled on a row-by-row basis by
adding a column with the name__lnav_style__
. - Added "format test" management command to make it
easier to test a format against a file.
This can be helpful for determining why a file is not being
recognized by particular format. - Added a "performance" section to the documentation.
- Session exports now include
:hide-fields
and:show-fields
commands from the session.
They are currently commented out by default.
Interface changes:
- DB query results that start with a number are right justified
instead of only full numbers. - Left-clicking a local link in a Markdown document will jump to
that section of the document instead of opening the overlay
menu.
You can still open the overlay menu by right-clicking on the link. - Rows in a Markdown table are now highlighted with alternating
styles. - Long-running SQL queries in scripts are now mentioned in the UI
to make it easier to see what is going on. - Defining a value in a log format with the same name as one of
predefined columns in the log virtual tables will now generate
an error. - The DB view will now chart result columns that contain a number
with a unit, like "KB", "MB", "GB", etc... - When switching to the pretty view, the focused line should be
in the same position in the text as in the source view. - In the LOG view, you can now copy the value of a field by
pressingc
when focused on a line in the parser details
overlay (activated by pressingp
). - In the DB View, if there is a column named
log_level
, it
will be used as the level for the row and the hotkeys for
jumping to the next/previous error/warning will work. - In the DB View, columns can now be hidden/shown using the
:hide-fields
/:show-fields
commands. - In the DB View, pressing
p
now works for all rows and will
show all columns and not just JSON ones.
You can then pressc
while focused in the overlay to copy
the value of the column.
Pressing space while focused on a column in the overlay will
hide/show it.
Breaking changes:
- The
parse_url()
SQL function no longer raises an error for an
invalid URL.
Instead, it will return a JSON object with an object with the
following properties:error
- An identifier for the error.url
- The invalid URL itself.reason
- A description of the error.
Bug Fixes:
- Reduced startup time.
- Reduced indexing time for plain text and JSON-lines logs.
- Reduced memory footprint.
- Improved search performance.
- Reduced DB view CPU and memory usage.
- Reduce time to open help text.
- Improved performance of log virtual tables when ordering the
result bylog_line DESC
. - Improved performance of the
spooky_hash()
SQL function.
Maintenance:
- Replaced ncurses with notcurses.