Releases: Lifailon/lazyjournal
0.8.5
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/-Pflag is not passed (or the parameterpodmanContextis 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+LeftandAlt+Right). - Added time filtering for Kubernetes logs by since slice.
- Added
--timezone-filter/-Tflag and the optionfilterTimezoneto the configuration for UTC offset (+00:00by 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
auditdin show audit and unit tests. - Added publication in the Ubuntu PPA repository for installation with the
aptpackage manager. - Added automatic compilation and publication of releases with GoReleaser.
- #39 Bump
golang.org/x/textfrom0.23.0to0.33.0in 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
Full Changelog: 0.8.3...0.8.4
New features
- #35 and #34 Added
_allmode to read all system logs fromjournald, without filtering by unit. - Added filtering of logs from
journaldby priority using the keyboard shortcutCtrl+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.hostsstructure to the configuration (theF2key 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.
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+Tcombination 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
wrapModeDisableflag (shifting the horizontal position of the output is not supported) and removeddisableTimestampflag. - #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
🌲🌟🌲 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
jsonstrings. - 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
colorActionsDisableparameter in the configuration. - Added a new coloring mode using bat in ansi mode and the log language. Changed the coloring mode to the
Ctrl+Wkeyboard shortcut (removed theCtrl+Nshortcut fortailspin). ThecolorEnableflag with thebooldata type has been replaced withcolorMode(available values default,tailspin,batanddisable), and update the status in Subtitle. - Replaced filtering by
timestampwith filtering by date. This filter can be dynamically disabled (using thedel/deletekeys or configuration) and the date can be changed using theleft/rightarrow 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
-Fflag). - Simultaneous filtering and coloring is now possible in command-line mode using two arguments (
-c -for-c -r). - Added a check for connection errors to the Kubernetes cluster.
0.8.2
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/--pathflag or thecustomPathconfiguration 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 (
interfaceblock). - 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-composeexecutable has been added ifcomposeis not available as a plugin in the docker command.
New Contributors
0.8.1
Full Changelog: 0.8.0...0.8.1
- #25 Published a lazyjournal installation script on the Killercoda playground.
- Added a new
Compose stackslist for simultaneously displaying logs from all containers in a stack, sorted by time, via thecomposeplugin indocker(if installed and used on the current system). Time sorting applies to all displayed entries (including historical data, which is not supported bycomposeby default), and custom container name coloring has been implemented (this does not change when reloading the log, which is the default behavior ofcompose).
- Added
Composeto audit (used with the-a/--auditflag, 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
stdoutstream (kubectlonly supports a single output stream), and updated status coloring for all containers and pods. - Added support for Kubernetes logs to the Docker image (added
kubectltool). - 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
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
lazyjournalon 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 logslist) that are accessible on any node (includingWorker) withrootrights. - Added support for a shortened format for filtering by time (for example, from
-48hto-24hor+1hto+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
tailspinpainting mode if it is not installed or there is no access to docker logs injsonformat (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
jsonmode. - 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
Full Changelog: 0.7.8...0.7.9
- #23 Updated Vim-style key bindings. Added navigation through the log and lists with the
jandkkeys, as well as switching lists withhandl. Help is available with the?andF1keys. Removed theCtrl+DandCtrl+Ubindings for quickly scrolling through lists and outputting the log (an alternative for macOS) in favor ofjandk. - 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, useEnterfrom the filter window, and clear the input field withEscfor the corresponding windows. TheCtrl+Wkey binding no longer clears text in favor of usingEscand has been replaced with disabling coloring (instead ofCtrl+Q). - Added the
-m/--disable-mouseflag to disable mouse control support. - Added the
-s/--docker-streamflag and theCtrl+Dkeyboard shortcut to force reading Docker container logs from a stream. By default, reading occurs from the file system injsonformat (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,stderror all) using theCtrl+Skeyboard shortcut. - Changed getting the path to container logs in the file system from static (from the
/var/lib/docker/containersdirectory) to dynamic using thedocker inspectmethod. - Updated the status in the subtitle for the logs window. Added display of log reading mode for Docker containers (streams only or
jsonfrom file system) and current stream output mode (all,stdoutorstderronly). - Added disabling output refresh in the background (
tailmode) using theCtrl+Ushortcut or the-e/--disable-autoupdateflag. To manually refresh the output, use theCtrl+Qshortcut. - Added checking for changes in the Docker log before loading it when using the read mode from the file system in
jsonformat.
0.7.8
Full Changelog: 0.7.7...0.7.8
- Implemented reading audit logs with filtering by keys from
auditdininterpretmode (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).
- Added a new filtering mode by
timestampfor journald, docker and podman logs from streams (updated information inREADMEand the help window).
-
Expanded functionality for working in command line mode. Added new flags
--command-fuzzy, -fand--command-regex, -rfor filtering output via pipe. -
Reworked the Docker log reading process to separate
stdoutandstderrstreams. When the user does not have access to the/var/lib/docker/containersdirectory, the user can get data from both streams sorted bytimestamp. -
#21 Changed
timestampfor docker logs toYYYY-MM-DDTHH:MM:SS.MS(x9)Zformat, expanded the range of string switching (added values:200,500,1000) and added aCtrl+Thotkey for switching (disabling and enabling) the timestamp and data type output for stream.
0.7.7
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
tailmode to theLogswindow 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
CtrlorAltheld down). - Added a filter when reading
Windows Eventsfor 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 towevtutil). - The delimiter has been reworked. Coloring and display have been debugged if the log is not read in its entirety (limited by the
tailmode 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, -cflag has been added for coloring the output in command line mode and--disable-color, -dfor disabling coloring in the interface at startup (an alternative to theCtrl+Qcombination). - 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
ASCIIlogo to show help (F1).
0.7.6
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+Qhotkey 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+Rhotkey 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
stderrwhen reading Docker logs (if there are no access rights to the container directory for direct reading from the file system injsonformat). - Added the show help window for hotkeys when pressing
F1.
New Contributors
- @eunos-1128 add installation instructions for Homebrew and Conda by @eunos-1128 in #20





