lnav v0.12.4 released

5 views
Skip to first unread message

lnav support

unread,
Feb 12, 2025, 4:57:40 PMFeb 12
to lnav

lnav v0.12.4 released


A lot of focus in this release was on performance improvements
and rounding out rough corners.  Full details are below:

Features:
* Log message timestamps are now represented with microsecond
  precision internally instead of just millisecond.
* The `log_time` and `log_level` fields can now be hidden.
* The "Op ID:" overlay that is added when the `log_opid` field is
  manually set on a message can now be hidden by hiding the
  `log_opid` field.
* Pasting a command snippet when the input focus is on the main
  view will now execute it.
  For this to work: the terminal must support "bracketed-paste"
  mode, which most do;
  and, the pasted content must also start with one of the sigils
  for the desired operation (i.e. `:` for lnav commands, `;` for SQL
  queries, `/` for searches, and `|` for scripts).
* Added a `report-access-log` script that generates a report that
  is similar to the output of the [goaccess](https://goaccess.io)
  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 to `text/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 the `formats/installed` directory.
* Added `italic` and `strike` 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 <format-name> test <path>` 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.
* Added highlighting for Markdown syntax.

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
  pressing `c` when focused on a line in the parser details
  overlay (activated by pressing `p`).
* 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 press `c` 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.
* If the terminal supports less than 256 colors, a help message
  will be displayed to try setting `TERM` to `xterm-256color`.
* Added `F1` as a hotkey to open the help view.
* Fixed some issues with scrolling in the main view when:
  word-wrap was enabled; log messages had tags/comments; or
  if the parser details overlay was open.

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 by `log_line DESC`.
* Improved performance of the `spooky_hash()` SQL function.

Maintenance:
* Replaced ncurses with notcurses.
* Added arm64 builds for Linux/macOS

Thanks,

Tim
Reply all
Reply to author
Forward
0 new messages