Skip to content

Releases: Lifailon/lazyjournal

0.8.5

05 Feb 23:05

Choose a tag to compare

Full Changelog: 0.8.4...0.8.5

Changes

  • #37 Added the ability to change default lists in panels when starting an interface using a configuration file.
  • #38 Fixed receiving container list in Podman. The context parameter will not be used in Podman if the content of the --podman-context/-P flag is not passed (or the parameter podmanContext is not set in the configuration).
  • Added custom path for file logs in Windows (including files inside the passed directory). The default is $HOME/Documents.
  • Added quick move (through words) in the text entry window for filtering lists and logs (using the keys Alt+Left and Alt+Right).
  • Added time filtering for Kubernetes logs by since slice.
  • Added --timezone-filter/-T flag and the option filterTimezone to the configuration for UTC offset (+00:00 by default) when filtering by date in Docker, Compose, Podman and Kubernetes container logs.
  • Added full path to file or name of current downloaded log in Subtitle and added current boot time to file list.
  • Fixed cluster connection error handling during log load in Kubernetes.
  • Added auditd in show audit and unit tests.
  • Added publication in the Ubuntu PPA repository for installation with the apt package manager.
  • Added automatic compilation and publication of releases with GoReleaser.
  • #39 Bump golang.org/x/text from 0.23.0 to 0.33.0 in the go-dependencies group by @dependabot[bot]
  • #41 Bump the go-dependencies group with 2 updates by @dependabot[bot]
  • #42 README review by @github-actions[bot]
  • #43 Fixed linters by @github-actions[bot]
  • #44 CHANGELOG update by @github-actions[bot]

New Contributors

  • @dependabot[bot] made their first contribution in #39
  • @github-actions[bot] made their first contribution in #42

0.8.4

24 Jan 10:01

Choose a tag to compare

Full Changelog: 0.8.3...0.8.4

New features

  • #35 and #34 Added _all mode to read all system logs from journald, without filtering by unit.
  • Added filtering of logs from journald by priority using the keyboard shortcut Ctrl+P (the priority title is displayed in the status).
  • Added an interface for switching Docker and Kubernetes contexts, as well as SSH connections and a new ssh.hosts structure to the configuration (the F2 key is used to invoke the interface by default). Switching between clusters and namespaces in Kubernetes is now possible without leaving the main interface.
  • Subtitile has been moved from the log output window to the bottom of the interface. The status bar now displays the current Docker and Kubernetes context and the output timestamp.
image

Changes and fixes

  • The list of Docker and Kubernetes contexts and their usage depends on the current host in ssh mode.
  • Added timeout on 5 seconds for loading Docker, Podman, Compose and Kubernetes lists when changing contexts to avoid freezing.
  • Added output of logs for all containers in the selected Kubernetes pod, as well as prefixes of the pod and container names in the log contents.
  • Fixed coloring of statuses for checking characters around a word.
  • Fixed disabling timestamp for logs in compose stack and separated the mode for disabling the output of the embedded timestamp for any containers (via the Ctrl+T combination by default).
  • The display and coloring of container names has been reworked to ensure unique colors in compose stack locks. The container name is now displayed in square brackets at the beginning of each line, instead of the standard | separator, as tabs in compose's standard output can change position when updated.
  • Added wrapModeDisable flag (shifting the horizontal position of the output is not supported) and removed disableTimestamp flag.
  • #36 Added AI-powered analysis of issues and release changes in the changelog file.
  • Added integration of commit reviews using AI with sending notifications to the Telegram channel.
  • Added Dockerfile static analysis (linters check) to CI.

0.8.3

25 Dec 19:08

Choose a tag to compare

🌲🌟🌲 New Year's release 🎄🎁🎄

Full Changelog: 0.8.2...0.8.3

  • Added tailspin-like coloring for HTTP request methods and response statuses, as well as capitalized statuses (e.g., ERROR, WARNING, and others).
  • Added coloring for double quotes and curly braces for json strings.
  • Removed some words from the coloring to reduce visual noise, rewrited the coloring of UNIX paths, added coloring for HTTP endpoints, and added the ability to disable action coloring using the colorActionsDisable parameter in the configuration.
  • Added a new coloring mode using bat in ansi mode and the log language. Changed the coloring mode to the Ctrl+W keyboard shortcut (removed the Ctrl+N shortcut for tailspin). The colorEnable flag with the bool data type has been replaced with colorMode (available values ​​default, tailspin, bat and disable), and update the status in Subtitle.
  • Replaced filtering by timestamp with filtering by date. This filter can be dynamically disabled (using the del/delete keys or configuration) and the date can be changed using the left/right arrow keys (the filter status has been added to the Subtitle of the logs window).
  • Added a character limit for output filtering (this value can be changed in the configuration or using the -F flag).
  • Simultaneous filtering and coloring is now possible in command-line mode using two arguments (-c -f or -c -r).
  • Added a check for connection errors to the Kubernetes cluster.

0.8.2

01 Dec 10:40

Choose a tag to compare

Full Changelog: 0.8.1...0.8.2

Changes

  • #31 Added custom path to logs in the file system. (second tab instead of Optional package logs), which can be overridden via the -p/--path flag or the customPath configuration parameter (default, /opt).
  • #25 Updated Playground. Added running test containers in compose instead of docker run (using containers with dynamic logging), using a custom filesystem path (#31), and running k3s to demonstrate access to Kubernetes pod logs.
  • Added changing the interface color via configuration (interface block).
  • Added a command-line flag and configuration parameter for changing the Kubernetes context and namespace.
  • Added a command-line flag and configuration parameter for changing the Docker and Compose context.
  • Reworked the process for obtaining a list of systemd units. Filtering is now limited to services (excluding other units, such as sockets), status analysis is added, and stopped services are now displayed from the list of unit files (deactivated from list-unit-files, but are available to run, and may also contain events).
  • The output of running statuses in containers, pods and service stacks has been changed on coloring.
  • The compose stack status has been updated to reflect the number of running containers out of the total number of containers (including the number of restaring containers).
  • A check for the docker-compose executable has been added if compose is not available as a plugin in the docker command.

New Contributors

  • @fossabot made their first contribution in #33 - added integration with FOSSA.

0.8.1

26 Sep 16:56

Choose a tag to compare

Full Changelog: 0.8.0...0.8.1

  • #25 Published a lazyjournal installation script on the Killercoda playground.
  • Added a new Compose stacks list for simultaneously displaying logs from all containers in a stack, sorted by time, via the compose plugin in docker (if installed and used on the current system). Time sorting applies to all displayed entries (including historical data, which is not supported by compose by default), and custom container name coloring has been implemented (this does not change when reloading the log, which is the default behavior of compose).
image
  • Added Compose to audit (used with the -a/--audit flag, and an example has been added to the audit.yml file), testing and Docker image building.
  • Fixed a bug when selecting an empty item in lists with the mouse.
  • Increased log loading speed for Kubernetes pods by reading only from the stdout stream (kubectl only supports a single output stream), and updated status coloring for all containers and pods.
  • Added support for Kubernetes logs to the Docker image (added kubectl tool).
  • In addition to clearing the filter, the esc (default exit key, can be overridden in the configuration) now returns to the last window when using / before exiting.
  • Added automatic publishing of the final test results report to the Wiki page.

0.8.0

13 Sep 17:10

Choose a tag to compare

Full Changelog: 0.7.9...0.8.0

Issues and new features

  • #23 Added configuration for changing hotkeys and updated installation scripts for loading configuration (fix install.sh: correct binPath and configPath handling by @bitwise-id in #29).
  • #27 Added ability to change default values ​​via configuration (which are also set via flags and hotkeys).
  • Implemented access to logs on a remote machine via ssh without installing lazyjournal on the remote machine. New flag: -s/--ssh, which accepts standard ssh options for configuring the connection (passed as a single argument in quotes).

Example:

lazyjournal --ssh "lifailon@192.168.3.101 -p 22"
# If sudo is supported without entering a password
lazyjournal --ssh "lifailon@192.168.3.101 -p 22 sudo"

Note

Access to remote machines is possible only with an ssh key (password access is not supported).

Fixes and performance

  • Added getting a list of all Kubernetes pods (without being tied to a specific namespace in the current configuration) and access to pod logs from any namespace (if there is appropriate access).
  • Added k3s (from Rancher) color highlighting of pods and containers in the file system (in the System var logs list) that are accessible on any node (including Worker) with root rights.
  • Added support for a shortened format for filtering by time (for example, from -48h to -24h or +1h to +30m, etc.).
  • Added pre-check for text in filter field to clear text before exit (on first press of keyboard shortcut) and additional buttons by default [/] to switch lists.
  • Added error notification when enabling the tailspin painting mode if it is not installed or there is no access to docker logs in json format (from the file system).
  • Added an empty line at the end of any log output, and removed an extra empty line when reading docker logs in json mode.
  • Improved sorting of log lists in the file system by date (added modification time, as well as filtering accuracy to the minute).
  • Changed loading of any log to background loading in a goroutine for smooth operation of the interface (fast mode is a beta feature).

Important

Fast mode can cause increased load on the processor or work unstably, so it can be disabled in the configuration using the settings.disableFastMode parameter. If you notice any errors in the work, please report them using the Issues page (for comparison, first disable this mode to check the cause of the problem).

0.7.9

29 May 08:01

Choose a tag to compare

Full Changelog: 0.7.8...0.7.9

  • #23 Updated Vim-style key bindings. Added navigation through the log and lists with the j and k keys, as well as switching lists with h and l. Help is available with the ? and F1 keys. Removed the Ctrl+D and Ctrl+U bindings for quickly scrolling through lists and outputting the log (an alternative for macOS) in favor of j and k.
  • Disabled navigation through the interface in the help window until it is closed with Esc (as requested in the comments to the article on Habr).
  • Added changing the focus to the filter window from the list window or the log window with the / key. To return to the previous window, use Enter from the filter window, and clear the input field with Esc for the corresponding windows. The Ctrl+W key binding no longer clears text in favor of using Esc and has been replaced with disabling coloring (instead of Ctrl+Q).
  • Added the -m/--disable-mouse flag to disable mouse control support.
  • Added the -s/--docker-stream flag and the Ctrl+D keyboard shortcut to force reading Docker container logs from a stream. By default, reading occurs from the file system in json format (if the current user has access to the logs directory) to access archived logs.
  • Added the ability to change the display of one of the Docker log streams (filtering by stdout, stderr or all) using the Ctrl+S keyboard shortcut.
  • Changed getting the path to container logs in the file system from static (from the /var/lib/docker/containers directory) to dynamic using the docker inspect method.
  • Updated the status in the subtitle for the logs window. Added display of log reading mode for Docker containers (streams only or json from file system) and current stream output mode (all, stdout or stderr only).
  • Added disabling output refresh in the background (tail mode) using the Ctrl+U shortcut or the -e/--disable-autoupdate flag. To manually refresh the output, use the Ctrl+Q shortcut.
  • Added checking for changes in the Docker log before loading it when using the read mode from the file system in json format.

0.7.8

15 Apr 08:28

Choose a tag to compare

Full Changelog: 0.7.7...0.7.8

  • Implemented reading audit logs with filtering by keys from auditd in interpret mode (interpret results to be human readable, for example, to convert system calls or user IDs, as opposed to the standard reading from the log in raw form from the file system).

image

  • Added a new filtering mode by timestamp for journald, docker and podman logs from streams (updated information in README and the help window).

image

  • Expanded functionality for working in command line mode. Added new flags --command-fuzzy, -f and --command-regex, -r for filtering output via pipe.

  • Reworked the Docker log reading process to separate stdout and stderr streams. When the user does not have access to the /var/lib/docker/containers directory, the user can get data from both streams sorted by timestamp.

  • #21 Changed timestamp for docker logs to YYYY-MM-DDTHH:MM:SS.MS(x9)Z format, expanded the range of string switching (added values: 200, 500, 1000) and added a Ctrl+T hotkey for switching (disabling and enabling) the timestamp and data type output for stream.

image

0.7.7

04 Apr 08:30

Choose a tag to compare

Full Changelog: 0.7.6...0.7.7

  • Added the ability to install in a Docker container based on a Debian image (Docker Hub), as well as an option to run in the Web interface via ttyd.
  • Added tail mode to the Logs window subtitle for visualization and dynamic change of the maximum number of output lines, the background update mode (disabled when scrolling up) and the update period, as well as the current painting mode (enabled or disabled). Changing these parameters is available via hotkeys and command line flags:

  • #22 Added mouse control support for switching windows, selecting logs and scrolling (including fast scrolling of the log with Ctrl or Alt held down).
  • Added a filter when reading Windows Events for the last 30 days to increase the performance of loading the log (in the tested system, the average speed of reading all events increased 3 times). In the current release, methods using WMI via the StackExchange/wmi library and PowerShell were tested (loading all logs is not supported and performance is 2 times lower compared to wevtutil).
  • The delimiter has been reworked. Coloring and display have been debugged if the log is not read in its entirety (limited by the tail mode by the number of lines).
  • The log loading time has been added to the log output status (the loading time is displayed first, and then the coloring time is displayed after a fraction).
  • The --command-color, -c flag has been added for coloring the output in command line mode and --disable-color, -d for disabling coloring in the interface at startup (an alternative to the Ctrl+Q combination).
  • Coloring for numbers has been improved (the number of regular expressions has been reduced) and coloring of integers has been added.
  • Fixed issue with removing consecutive spaces when coloring output.
  • Fixed issue with log positioning when filtering (log always goes to the very bottom).
  • Added ASCII logo to show help (F1).

0.7.6

21 Mar 09:49

Choose a tag to compare

Full Changelog: 0.7.5...0.7.6

Changes

  • Improved coloring for numbers, URLs and unix paths, debugged some word combinations (including directories and known names) and improved coloring testing.

  • Added Ctrl+Q hotkey to completely disable/enable built-in coloring in order to increase the performance of loading large journals (over 100 thousand lines).
  • Added coloring mode via tailspin. Works several times slower and is suitable for small journals.
  • Added Ctrl+R hotkey to manually refresh all current log lists.
  • Debugged the issue with displaying the last line in journals (if there was no empty line at the end of the log).
  • Debugged error messages from stderr when reading Docker logs (if there are no access rights to the container directory for direct reading from the file system in json format).
  • Added the show help window for hotkeys when pressing F1.

New Contributors