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
Copy file name to clipboardExpand all lines: README.md
+31-22Lines changed: 31 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,12 @@ Terminal user interface for reading logs from `journalctl`, file system, Docker
18
18
19
19
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?tab=readme-ov-file#development) and [Awesome-Docker](https://github.com/veggiemonk/awesome-docker?tab=readme-ov-file#terminal-ui), check out other useful projects on the repository pages.
20
20
21
-

21
+

22
22
23
23
## Functional
24
24
25
-
- Simple installation, download one executable file without dependencies for starting.
25
+
- Simple installation, to run download one executable file without dependencies and settings.
26
+
- Displays the current log output in real-time (updated every 5 seconds, file logs are updated only when there are changes).
26
27
- List of all units (`services`, `sockets`, etc.) via `systemctl` with current running status.
27
28
- View all system and user journals via `journalctl` (tool for reading logs from [systemd-journald](https://github.com/systemd/systemd/tree/main/src/journal)).
28
29
- List of all system boots for kernel log output.
@@ -33,23 +34,27 @@ This tool is inspired by and with love for [LazyDocker](https://github.com/jesse
33
34
- Kubernetes pods via `kubectl`
34
35
- Windows Event Logs (in test mode via `powershell` and reading via `wevtutil`) and application logs from Windows file system.
35
36
- Filtering lists to find the desired journal.
36
-
- Displays the currently selected log output in real-time.
37
37
38
38
Supports 3 filtering modes:
39
39
40
40
-**Default** - case sensitive exact search.
41
41
-**Fuzzy** - custom inexact case-insensitive search (searches for all phrases separated by a space anywhere on a line).
42
42
-**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).
43
43
44
+
## Coloring
45
+
44
46
Supported coloring groups for output:
45
47
48
+
-**Custom** - URLs, file paths and processes in UNIX.
49
+
-**Yellow** - known names (host name and system users) and warnings.
46
50
-**Green** - keywords indicating success.
47
-
-**Red** - keywords indicating an error.
51
+
-**Red** - keywords indicating error.
48
52
-**Blue** - statuses (info, debug, etc), actions (install, update, etc) and HTTP methods (GET, POST, etc).
49
-
-**Light Blue** - numbers (date, time, bytes, ip and mac-addresses).
50
-
-**Yellow** - known names (host name and system users) and warnings.
51
-
-**Purple** - url and full paths in the file system.
52
-
-**Custom** - unix processes.
53
+
-**Light blue** - numbers (date, time, bytes, versions, percentage, IP and MAC addresses).
54
+
55
+
A full list of all keywords can be found in the [color.log](/color.log) file (used for testing only). If you have suggestions for improving coloring (e.g. adding new words), you can open an [issue](https://github.com/Lifailon/lazyjournal/issues) for a new feature.
56
+
57
+
Coloring directly affects the loading time of the log, to increase the performance of reading large logs, it is possible to disable coloring using the `Ctrl+Q`.
53
58
54
59
## Install
55
60
@@ -82,33 +87,29 @@ If you an Arch Linux user you can also install from the [AUR](https://aur.archli
82
87
paru -S lazyjournal
83
88
```
84
89
85
-
Thank you [Matteo Giordano](https://github.com/malteo) for upload and update the package in AUR.
If you use package managers like conda or mamba, you can install lazyjournal from [conda-forge](https://anaconda.org/conda-forge/lazyjournal):
92
+
If you use package managers like conda or mamba, you can install `lazyjournal` from [conda-forge](https://anaconda.org/conda-forge/lazyjournal):
90
93
91
94
```shell
92
95
conda install -c conda-forge lazyjournal
93
96
mamba install -c conda-forge lazyjournal
94
97
```
95
98
96
-
You can install lazyjournal user-globally using [pixi](https://prefix.dev):
99
+
You can install `lazyjournal` user-globally using [pixi](https://prefix.dev):
97
100
98
101
```shell
99
102
pixi global install lazyjournal
100
103
```
101
104
102
105
### Homebrew (macOS / Linux)
103
106
104
-
Use the following command to install lazyjournal using [Homebrew](https://formulae.brew.sh/formula/lazyjournal):
107
+
Use the following command to install `lazyjournal` using [Homebrew](https://formulae.brew.sh/formula/lazyjournal):
105
108
106
109
```shell
107
110
brew install lazyjournal
108
111
```
109
112
110
-
Thank you [Ueno M.](https://github.com/eunos-1128) for upload and update the package in homebrew and conda.
111
-
112
113
### Windows
113
114
114
115
Use the following command to quickly install in your PowerShell console:
@@ -139,10 +140,6 @@ You can also use Go for install the dev version ([Go](https://go.dev/doc/install
139
140
go install github.com/Lifailon/lazyjournal@latest
140
141
```
141
142
142
-
### Others
143
-
144
-
If you use other packag manager and want this package to be present there as well, open an issue or load it yourself and make [Pull requests](https://github.com/Lifailon/lazyjournal/pulls).
145
-
146
143
## Usage
147
144
148
145
You can run the interface from anywhere:
@@ -182,10 +179,11 @@ make lint
182
179
183
180
## Testing
184
181
185
-
Run unit tests to check functions and their performance:
182
+
Unit tests cover all main functions and interface operation.
186
183
187
184
```shell
188
-
go test -v
185
+
make list # get a list of all tests
186
+
make test n=TestMockInterface # run the selected test
189
187
```
190
188
191
189
The test coverage report using CI Actions for Linux, macOS and Windows systems is available on the [Wiki](https://github.com/Lifailon/lazyjournal/wiki) page.
@@ -194,6 +192,7 @@ Testing in BSD-based systems is done in a home environment using [usup](https://
194
192
195
193
## Hotkeys
196
194
195
+
-`F1` - show help on hotkeys.
197
196
-`Tab` - switch between windows.
198
197
-`Shift+Tab` - return to previous window.
199
198
-`Left/Right` - switch between journal lists in the selected window.
@@ -203,12 +202,22 @@ Testing in BSD-based systems is done in a home environment using [usup](https://
203
202
-`<Shift/Ctrl>+<U/D>` - quickly move up and down (alternative for macOS).
204
203
-`Ctrl+A` or `Home` - go to top of log.
205
204
-`Ctrl+E` or `End` - go to the end of the log.
205
+
-`Ctrl+Q` - enable or disable built-in output coloring.
206
+
-`Ctrl+S` - enable or disable coloring via [tailspin](https://github.com/bensadeh/tailspin).
207
+
-`Ctrl+R` - update all log lists.
206
208
-`Ctrl+W` - clear text input field for filter to quickly update current log output without filtering.
207
209
-`Ctrl+C` - exit.
208
210
209
211
## Contributing
210
212
211
-
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.
213
+
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.
214
+
215
+
Thanks to all participants for their contributions:
216
+
217
+
-[Matteo Giordano](https://github.com/malteo) for upload and update the package in `AUR`.
218
+
-[Ueno M.](https://github.com/eunos-1128) for upload and update the package in `homebrew` and `conda`.
219
+
220
+
You can also upload the package yourself to any package manager you use and make [Pull Requests](https://github.com/Lifailon/lazyjournal/pulls).
0 commit comments