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* containers for 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 `journalctl`, file system logs, as well **Docker** and **Podman** containers for 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.
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 listed as [Awesome-TUIs](https://github.com/rothgar/awesome-tuis), check out the other useful projects in the repository page.
16
16
17
17

18
18
19
+
-[Functional](#functional)
20
+
-[Roadmap](#roadmap)
21
+
-[Install](#install)
22
+
-[Unix-based](#unix-based)
23
+
-[Arch Linux](#arch-linux)
24
+
-[Windows](#windows)
25
+
-[Go Package](#go-package)
26
+
-[Others](#others)
27
+
-[Usage](#usage)
28
+
-[Build](#build)
29
+
-[Hotkeys](#hotkeys)
30
+
-[Contributing](#contributing)
31
+
-[Alternatives](#alternatives)
32
+
-[License](#license)
33
+
19
34
## Functional
20
35
21
36
- Simple installation, to run it, just download a single executable file without dependencies.
@@ -24,8 +39,8 @@ This tool is inspired by and with love for [LazyDocker](https://github.com/jesse
24
39
- List of all system boots for kernel log output.
25
40
- File system logs (example, for Apache or Nginx), as well as `syslog` or `messages`, `dmesg` (kernel), etc.
26
41
- List of all log files of descriptors used by processes, as well as all log files in the home directories of users.
27
-
- Reading archived logs (`gz` format).
28
-
-*Podman* pods, *Docker* containers and *Swarm* services logs for all systems.
42
+
- Reading archived logs (`gz`, `xz` or `bz2` format) and packet capture files (`pcap` format).
43
+
-Docker containers, Podman pods and Swarm services logs.
29
44
- Displays the currently selected log and filters output in real-time.
30
45
31
46
Supports 3 filtering modes:
@@ -38,88 +53,108 @@ Supported coloring groups for output:
38
53
39
54
-**Green** - keywords indicating success.
40
55
-**Red** - keywords indicating an error.
41
-
-**Blue** - statuses and action messages (debug, warning, etc and install, update, etc).
56
+
-**Blue** - statuses, (info, debug, etc), actions (install, update, etc) and HTTP methods (GET, POST, etc).
42
57
-**Light Blue** - numbers (date, time, bytes, ip and mac-addresses).
43
-
-**Yellow** - known names (host name and system users).
58
+
-**Yellow** - known names (host name and system users) and warnings.
44
59
-**Purple** - url and full paths in the file system.
45
60
-**Custom** - unix processes.
46
61
47
62
## Roadmap
48
63
49
-
This is an up-to-date roadmap in addition to the functionality described above.
64
+
This is a backlog in addition to the functions described above.
50
65
51
-
-[X] File system support for `MacOS` (darwin system) and the `RHEL` based systems.
52
66
-[X] Syntax coloring for logging output (like `tailspin`).
53
-
-[ ] Windows file system support (log files from `Program Files` and others directories).
54
-
-[ ] Windows events via `PowerShell`.
67
+
-[X] File system support for **MacOS** (darwin system) and the **RHEL** based systems.
68
+
-[X] File system support for **BSD** based systems.
69
+
-[X] File system support for **Windows**.
70
+
-[ ] Code coverage by tests and passing all linters.
55
71
-[ ] Interface for scrolling and the mouse support.
72
+
-[ ] Windows events via PowerShell.
56
73
-[ ] Support remote machines via `ssh` protocol.
57
74
58
75
## Install
59
76
60
-
### Releases
77
+
Binaries for all operating systems are available on the [releases](https://github.com/Lifailon/lazyjournal/releases) page.
61
78
62
-
Binaries for the Linux operating system are available on the [releases](https://github.com/Lifailon/lazyjournal/releases) page.
79
+
Development is carried out on the Ubuntu Server 24.04.1 system and Windows 10. Also tested on the Raspberry Pi (`aarch64` platform), MacOS Sequoia 15.2 (`x64` platform), Ubuntu Server 20.04.6, OpenBSD 7.6, FreeBSD 14.2 and the WSL environment on the Oracle Linux 9.1.
63
80
64
-
Development is carried out on the Ubuntu Server system, and is also tested on the Raspberry Pi (`aarch64` platform), MacOS (`x64` platform) and the WSL environment on the Oracle Linux system.
81
+
### Unix-based
65
82
66
-
Run the command in the console to quickly install or update the stable version on Linuxor MacOS:
83
+
Run the command in the console to quickly install or update the stable version for Linux, MacOS or the BSD-based system:
This command will run a script that will download the latest executable from the GitHub repository into your current user's home directory along with other executables (or create a directory) and grant execution permission.
73
90
74
-
### Latest
91
+
### Arch Linux
75
92
76
-
You can also use Go for install the dev version. To do this, the Go interpreter must be installed on the system, for example, in Ubuntu you can use the SnapCraft package manager:
93
+
If you an Arch Linux user you can also install from the [AUR](https://aur.archlinux.org/packages/lazyjournal):
Supports reading containers logs as well as searching for logs in the following directories:
86
110
87
-
If you're an Arch Linux user you can also install from the [AUR](https://aur.archlinux.org/packages/lazyjournal) with your favorite [AUR helper](https://wiki.archlinux.org/title/AUR_helpers), e.g.:
111
+
-`Program Files`
112
+
-`Program Files (x86)`
113
+
-`AppData\Local` for current user
114
+
-`AppData\Roamin` for current user
115
+
116
+
To read logs, automatic detection of the following encodings is supported:
117
+
118
+
-`UTF-8`
119
+
-`UTF-16 with BOM`
120
+
-`UTF-16 without BOM`
121
+
-`Windows-1251` by default
122
+
123
+
### Go Package
124
+
125
+
You can also use Go for install the dev version ([Go](https://go.dev/doc/install) must be installed in the system):
88
126
89
127
```shell
90
-
paru -S lazyjournal
128
+
go install github.com/Lifailon/lazyjournal@latest
91
129
```
92
130
93
-
Thank you [Matteo Giordano](https://github.com/malteo) for upload and update the package in AUR.
94
-
95
131
### Others
96
132
97
-
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`.
133
+
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).
98
134
99
135
## Usage
100
136
101
-
You can launch the interface anywhere (no parameters are used):
137
+
You can run the interface from anywhere:
102
138
103
139
```shell
104
-
lazyjournal
140
+
lazyjournal # Run interface
141
+
lazyjournal --help, -h # Show help
142
+
lazyjournal --version, -v # Show version
105
143
```
106
144
107
145
Access to all system logs and containers may require elevated privileges for the current user.
108
146
109
-
Windows is not currently supported, but the project will work to access Docker and Podman containers logs.
110
-
111
147
## Build
112
148
113
-
Clone the repository, install dependencies from `go.mod` and run the project:
149
+
Clone the repository and run the project:
114
150
115
151
```shell
116
152
git clone https://github.com/Lifailon/lazyjournal
117
153
cd lazyjournal
118
-
go mod tidy
119
154
go run main.go
120
155
```
121
156
122
-
Check the code for linters using [golangci-lint](https://github.com/golangci/golangci-lint) and build executables for different platforms and all systems:
157
+
Check the source code on the linters using [golangci-lint](https://github.com/golangci/golangci-lint) and build binaries for different platforms and systems:
0 commit comments