Skip to content

Latest commit

 

History

History
218 lines (148 loc) · 10.6 KB

README.md

File metadata and controls

218 lines (148 loc) · 10.6 KB

media_small

GitHub license C++ GitHub contributors PRs Welcome Codacy Badge

Github all releases Github

Packaging status

Check GitHub releases for Windows installers and Linux/Mac packages.

Development status

Next milestone Ready for testing Need documentation GitHub commits CI Build and Release

Chat on Discord Join the chat at https://gitter.im/klogg_log_viewer/community

Overview

Klogg is a multi-platform GUI application that helps browse and search through long and complex log files. It is designed with programmers and system administrators in mind and can be seen as a graphical, interactive combination of grep, less, and tail.

Klogg main window

Please refer to the documentation page for how to use Klogg.

Latest testing builds

Windows Linux Mac
continuous-win continuous-linux continuous-osx

I try to keep a changelog with monthly changes.

Table of Contents

  1. About the Project
  2. Installation
  3. Building
  4. How to Get Help
  5. Contributing
  6. License
  7. Authors

About the Project

Klogg started as a fork of glogg - the fast, smart log explorer in 2016.

Since then it has evolved from fixing small annoying bugs to rewriting core components to make it faster and smarter that predecessor.

Development of klogg is driven by features my colleagues and I need to stay productive as well as feature requests from users on Github and in glogg mailing list.

Latest news about klogg development can be found at https://klogg.filimonov.dev.

Comparing with glogg

Klogg has all best features of glogg:

  • Runs on Unix-like systems, Windows and Mac thanks to Qt5
  • Is fast and reads the file directly from disk, without loading it into memory
  • Can operate on huge text files (10+ Gb is not a problem)
  • Search results are displayed separately from original file
  • Supports Perl-compatible regular expressions
  • Colorizes the log and search results
  • Displays a context view of where in the log the lines of interest are
  • Watches for file changes on disk and reloads it (kind of like tail)
  • Is open source, released under the GPL

And on top of that klogg:

  • Is heavily optimized using multi-threading and SIMD
  • Supports files with more than 2147483647 lines
  • Includes much faster regular expressions search (2-4 times)
  • Allows combining regular expressions with boolean operators (AND, OR, NOT)
  • Supports many common text encodings
  • Detects file encoding automatically using uchardet library (supports utf8, utf16, cp1251 and more)
  • Can limit search operations to some part of huge file
  • Allows to configure several highlighters sets and switch between them
  • Has a list of configurable predefined regular expression patterns
  • Includes a dark mode
  • Has configurable shortcuts
  • Has a scratchpad window for taking notes and doing basic data transformations
  • Provides lots of small features that make life easier (closing tabs, copying file paths, favorite files menu, etc.)

Here is a small demo showing how much faster klogg is (searching in ~1Gb file stored on tmpfs):

klogg_vs_glogg.mp4

List of glogg issues that have been fixed/implemented in klogg can be found here.

List of all changes can be found here.

Back to top

Installation

This project uses Calendar Versioning. For a list of available versions, see the repository tag list.

Current stable release builds

Binaries for all platforms can be downloaded from GitHub releases.

Release

Windows

Windows installer is also available from:

Mac OS

Package for Mac can be installed from Homebrew

homebrew cask

Linux

It is recommended to use klogg package from distribution-specific repositories.

Generic packages are available from klogg DEB and RPM repositories hosted at GitHub Pages. They are built to run on Ubuntu 18.04/20.04/22.04 and Oracle Linux 7/8 (x86-64 only).

For DEB packages first download the gpg key:

curl -sS https://klogg.filimonov.dev/klogg.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/klogg.gpg

You might need to manually create /etc/apt/keyrings directory.

Then download the repository list file for you distribution (replace <ubuntu_release> with one of bionic, focal, jammy):

curl -sS https://klogg.filimonov.dev/deb/klogg.<ubuntu_release>.list | sudo tee /etc/apt/sources.list.d/klogg.list

Finally, install using apt

sudo apt-get update
sudo apt install klogg

If there is already an entry for JFrogg hosted klogg repository in /etc/apt/sources.list, then remove this line from it:

deb [trusted=yes] https://favpackage.jfrog.io/artifactory/klogg_deb/ <ubuntu_release> utils

For RPM download klogg repo file (replace <oracle_release> with one of 7, 8):

curl -sS https://klogg.filimonov.dev/rpm/klogg-oracle-<oracle_release>.repo | sudo tee /etc/yum.repos.d/klogg-rpm.repo

Then install using yum

sudo yum update
sudo yum install klogg

There is also an AppImage package that can be used without installation. To run klogg from AppImage, download the package and make in executable with either a file manager or terminal command chmod +x <path_to_klogg_AppImage> and then run the AppImage file.

AppImage uses FUSE2 and Ubuntu 22.04 has moved away from FUSE2 into FUSE3 and therefore you need to install the necessary package to enable compatibility with FUSE2 sudo apt install libfuse2.

As indicated by this link from the official appimage documentation: https://docs.appimage.org/user-guide/troubleshooting/fuse.html#setting-up-fuse-2-x-alongside-of-fuse-3-x-on-recent-ubuntu-22-04-debian-and-their-derivatives

Testing builds

CI Build and Release

Windows Linux Mac
continuous-win continuous-linux continuous-osx

Back to top

Building

Please review BUILD.md for how to setup Klogg on your local machine for development and testing purposes.

How to Get Help

First, please refer to the documentation page.

You can open issues using klogg issues page or post questions to glogg development mailing list.

Contributing

We encourage public contributions! Please review CONTRIBUTING.md for details on our code of conduct and development process.

License

This project is licensed under the GPLv3 or later - see COPYING file for details.

Authors

See also the list of contributors who participated in this project.

Back to top