You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terminal user interface for `journalctl`, file system logs, as well **Docker** and **Podman** containersfor quick viewing and filtering with fuzzy find, regex support (like `fzf` and`grep`) and coloring the output, written in Go with the [awesome-gocui](https://github.com/awesome-gocui/gocui) (fork [gocui](https://github.com/jroimartin/gocui)) library.
13
+
Terminal user interface for reading logs from `journalctl`, file system, Docker and Podman containers, as well Kubernetes pods for quick viewing and filtering with fuzzy find(like `fzf`), regex support (like`grep`) and coloring the output, written in Go with the [awesome-gocui](https://github.com/awesome-gocui/gocui) (fork [gocui](https://github.com/jroimartin/gocui)) library.
14
14
15
15
This tool is inspired by and with love for [LazyDocker](https://github.com/jesseduffield/lazydocker) and [LazyGit](https://github.com/jesseduffield/lazygit), as well as is included in [Awesome-TUIs](https://github.com/rothgar/awesome-tuis) and [Awesome-Docker](https://github.com/veggiemonk/awesome-docker?tab=readme-ov-file#terminal-ui), check out other useful projects on the repository pages.
16
16
17
17

18
18
19
19
## Functional
20
20
21
-
- Simple installation, to run just download one executable file without any dependencies.
22
-
- List of all units (services, sockets, etc.) via `systemctl` with current running status.
21
+
- Simple installation, download one executable file without dependencies for starting.
22
+
- List of all units (`services`, `sockets`, etc.) via `systemctl` with current running status.
23
23
- View all system and user journals via `journalctl` (tool for reading logs from [systemd-journald](https://github.com/systemd/systemd/tree/main/src/journal)).
24
24
- List of all system boots for kernel log output.
25
-
- File system logs (example, for `Apache` or `Nginx`), as well as `syslog` or `messages`, `dmesg`(kernel), etc.
25
+
- File system logs (example, for `Apache` or `Nginx`), as well as `syslog` or `messages`, `dmesg`for kernel logs, etc.
26
26
- List of all log files of descriptors used by processes, as well as all log files in the home directories of users.
27
27
- Reading archived logs (`gz`, `xz` or `bz2` format), packet capture (`pcap` format) and Apple System Log (`asl` format).
- Docker containers (including `timestamp` and `stderr`), Podman pods and the Docker Swarm services.
29
+
- Kubernetes pods via `kubectl`
30
+
- Windows Event (in test mode via `wevtutil`) and application logs from Windows file system.
29
31
- Filtering lists to find the desired journal.
30
-
- Displays the currently selected log and filters output in real-time.
32
+
- Displays the currently selected log output in real-time.
31
33
32
34
Supports 3 filtering modes:
33
35
34
36
-**Default** - case sensitive exact search.
35
37
-**Fuzzy** - custom inexact case-insensitive search (searches for all phrases separated by a space anywhere on a line).
36
-
-**Regex** - search with regular expression support (based on `regexp` library), case insensitive by default (in case a regular expression syntax error occurs, the input field will be highlighted in red).
38
+
-**Regex** - search with regular expression support (based on the built-in [regexp](https://pkg.go.dev/regexp) library), case insensitive by default (in case a regular expression syntax error occurs, the input field will be highlighted in red).
37
39
38
40
Supported coloring groups for output:
39
41
40
42
-**Green** - keywords indicating success.
41
43
-**Red** - keywords indicating an error.
42
-
-**Blue** - statuses, (info, debug, etc), actions (install, update, etc) and HTTP methods (GET, POST, etc).
44
+
-**Blue** - statuses (info, debug, etc), actions (install, update, etc) and HTTP methods (GET, POST, etc).
43
45
-**Light Blue** - numbers (date, time, bytes, ip and mac-addresses).
44
46
-**Yellow** - known names (host name and system users) and warnings.
45
47
-**Purple** - url and full paths in the file system.
@@ -49,14 +51,14 @@ Supported coloring groups for output:
49
51
50
52
Binaries are available for download on the [releases](https://github.com/Lifailon/lazyjournal/releases) page.
51
53
52
-
List of supported systems and architectures in which I was able to check the functionality:
54
+
List of supported systems and architectures in which functionality is checked:
53
55
54
-
| OS | amd64 | arm64 | Systems |
55
-
| - | - | - | - |
56
-
| Linux | ✔ | ✔ | Raspberry Pi, Arch Linux, Oracle Linux (RHEL-based in WSL environment), Ubuntu Server 20.04.6 and above |
57
-
| Darwin | ✔ || macOS Sequoia 15.2 |
58
-
| BSD | ✔ || OpenBSD 7.6 and FreeBSD 14.2 |
59
-
| Windows | ✔ || Windows 10 and Windows 11 |
56
+
| OS | amd64 | arm64 | Systems |
57
+
| - | - | - | - |
58
+
| Linux | ✔ | ✔ | Raspberry Pi (`aarch64`), Arch Linux, Oracle Linux (RHEL-based in WSL environment), Ubuntu Server 20.04.6 (GLIBC 2.31) and above|
59
+
| Darwin | ✔ |✔| macOS Sequoia 15.2 `x64` on MacBook and the `arm` in GitHub Actions|
60
+
| BSD | ✔ || OpenBSD 7.6 and FreeBSD 14.2 |
61
+
| Windows | ✔ || Windows 10 and Windows 11 |
60
62
61
63
### Unix-based
62
64
@@ -80,8 +82,6 @@ Thank you [Matteo Giordano](https://github.com/malteo) for upload and update the
80
82
81
83
### Windows
82
84
83
-
Windows Events, application logs from file system and containers are supported.
84
-
85
85
Use the following command to quickly install in your PowerShell console:
86
86
87
87
```PowerShell
@@ -136,7 +136,7 @@ cd lazyjournal
136
136
go run main.go
137
137
```
138
138
139
-
Check the source code on the linters using [golangci-lint](https://github.com/golangci/golangci-lint) and build binaries for different platforms and systems:
139
+
Check the source code on the linter using [golangci-lint](https://github.com/golangci/golangci-lint) (including critic and security) and build binaries for different platforms and systems:
140
140
141
141
```shell
142
142
bash build.sh
@@ -148,23 +148,24 @@ bash build.sh
148
148
-`Shift+Tab` - return to previous window.
149
149
-`Left/Right` - switch between journal lists in the selected window.
150
150
-`Enter` - selection a journal from the list to display log output.
151
-
-`<Up/PgUp>/<Down/PgDown>` - move up or down through all journal lists and log output, as well as changing the filtering mode in the filter window.
152
-
-`<Shift/Alt>+<Up/Down>` - quickly move up or down through all journal lists and log output every `10` or `100/500` lines.
153
-
-`Ctrl+E/Home` - go to top of log.
154
-
-`Ctrl+D/End` - go to the end of the log.
151
+
-`<Up/PgUp>` and `<Down/PgDown>` - move up and down through all journal lists and log output, as well as changing the filtering mode in the filter window.
152
+
-`<Shift/Alt>+<Up/Down>` - quickly move up and down through all journal lists and log output every `10` or `100` lines (`500` for log output).
153
+
-`<Shift/Ctrl>+<U/D>` - quickly move up and down (alternative for macOS).
154
+
-`Ctrl+A` or `Home` - go to top of log.
155
+
-`Ctrl+E` or `End` - go to the end of the log.
155
156
-`Ctrl+W` - clear text input field for filter to quickly update current log output without filtering.
156
157
-`Ctrl+C` - exit.
157
158
158
159
## Contributing
159
160
160
-
Any contribution is welcome. If you want to implement a feature or fix something, please [open an issue](https://github.com/Lifailon/lazyjournal/issues) first.
161
+
Since this is my first Go project, there may be some bad practices, BUT I want to make LazyJournal better. Any contribution will be appreciated! If you want to implement any new feature or fix something, please [open an issue](https://github.com/Lifailon/lazyjournal/issues) first.
161
162
162
163
## Alternatives
163
164
164
165
-[lnav](https://github.com/tstack/lnav) - The Logfile Navigator is a **log file** viewer for the terminal.
165
166
-[Dozzle](https://github.com/amir20/dozzle) - is a small lightweight application with a web based interface to monitor **Docker logs**.
166
167
167
-
If you like using TUI tools, try [multranslate](https://github.com/Lifailon/multranslate) for translating text in multiple translators simultaneously, with support for translation history and automatic language detection.
168
+
If you like using TUI tools, try [multranslate](https://github.com/Lifailon/multranslate) for translating text in multiple translators simultaneously and LLM, with support for translation history and automatic language detection.
0 commit comments