GithubHelp home page GithubHelp logo

variar / klogg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nickbnf/glogg

2.0K 35.0 171.0 99.3 MB

Really fast log explorer based on glogg project

Home Page: https://klogg.filimonov.dev

License: GNU General Public License v3.0

NSIS 0.92% Shell 0.28% C++ 80.77% CMake 8.59% Batchfile 0.30% PowerShell 0.05% HTML 1.71% JavaScript 1.68% AppleScript 0.11% Python 1.06% SCSS 1.16% CSS 2.16% Dockerfile 0.29% C 0.93%
logs windows linux macos cross-platform log-viewer log-monitor log-analyzer qt cpp tail hacktoberfest

klogg's Introduction

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

klogg's People

Contributors

abay11 avatar czlitony avatar danberindei avatar feliwir avatar germanaizek avatar gin-ahirsch avatar gitter-badger avatar jeffjensen avatar jima80525 avatar junbo-zheng avatar jwakely avatar lightjohn avatar lilventi avatar neurocod avatar nickbnf avatar nowhszh avatar p47t avatar pac72 avatar probonopd avatar rluiten avatar roman-szul-red avatar secretfork avatar sergei-dyshel avatar silvergasp avatar teknovenus avatar tomasz-blaszczak-red avatar twardakm avatar variar avatar wiz0u avatar xhargh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klogg's Issues

Make tests compile and run during CI builds

Tests use cmake instead of qmake and need google test library. CMakeList.txt in klogg is outdated right now. Either it can be fixed or entire build process can be refactored to use single build system.

Inconsistent types for line numbers

Although reading from original file produces int64 line numbers, int32 line numbers are used in UI. I'm not sure all narrowing conversions are valid. Also right now it is impossible to have more than UINT32_MAX matches.

Might need to switch to size_t for all line numbers

Indexing of big files is broken in 18.06.x.x

Indexing of files larger than int max is broken in latest versions. klogg crashes during any search operation after indexing with stack:

00 00000008`f93fc938 00007ffd`28c27a4f ntdll!NtWaitForMultipleObjects+0x14
01 00000008`f93fc940 00007ffd`28c2794e KERNELBASE!WaitForMultipleObjectsEx+0xef
02 00000008`f93fcc40 00007ffd`2b4c022c KERNELBASE!WaitForMultipleObjects+0xe
03 00000008`f93fcc80 00007ffd`2b4bfd43 kernel32!WerpReportFaultInternal+0x4b0
04 00000008`f93fd230 00007ffd`28c3513b kernel32!WerpReportFault+0x73
05 00000008`f93fd270 00007ffd`2bd8e531 KERNELBASE!UnhandledExceptionFilter+0x23b
06 00000008`f93fd370 00007ffd`2bd76606 ntdll!RtlUserThreadStart$filt$0+0x38
07 00000008`f93fd3a0 00007ffd`2bd8a57d ntdll!_C_specific_handler+0x96
08 00000008`f93fd410 00007ffd`2bd1fd23 ntdll!RtlpExecuteHandlerForException+0xd
09 00000008`f93fd440 00007ffd`2bd896ea ntdll!RtlDispatchException+0x373
0a 00000008`f93fdb40 00000000`69745c8f ntdll!KiUserExceptionDispatch+0x3a
0b 00000008`f93fe250 00000000`698b30b9 Qt5Core!QString::fromLatin1_helper+0x2f
0c 00000008`f93fe280 00000000`6975022a Qt5Core!QEventDispatcherWin32::wakeUp+0xca9
0d 00000008`f93fe2b0 00007ff7`0bb9ca69 Qt5Core!QTextCodec::toUnicode+0x1a
0e 00000008`f93fe2f0 00007ff7`0bb9b007 klogg+0x5ca69
0f 00000008`f93fe5d0 00007ff7`0bbb5349 klogg+0x5b007
10 00000008`f93fe610 00007ff7`0bbb845d klogg+0x75349
11 00000008`f93ff5e0 00000000`696d58e7 klogg+0x7845d
12 00000008`f93ff9c0 00007ffd`2b4a8364 Qt5Core!QThread::start+0x337
13 00000008`f93ffa10 00007ffd`2bd4e851 kernel32!BaseThreadInitThunk+0x14
14 00000008`f93ffa40 00000000`00000000 ntdll!RtlUserThreadStart+0x21

Reloading file if there are some marked lines may lead to crash

klogg.exe!`anonymous namespace'::block_initial_pos(const unsigned char * block, __int64 * ptr) Line 70 C++ Symbols loaded.
klogg.exe!CompressedLinePositionStorage::at(unsigned int index) Line 242 C++ Symbols loaded.
[Inline Frame] klogg.exe!LinePosition::at(int) Line 107 C++ Symbols loaded.
klogg.exe!IndexingData::getPosForLine(unsigned int line) Line 57 C++ Symbols loaded.
klogg.exe!LogData::doGetExpandedLineString(__int64 line) Line 324 C++ Symbols loaded.
klogg.exe!AbstractLogData::getExpandedLineString(__int64 line) Line 37 C++ Symbols loaded.
klogg.exe!LogFilteredData::doGetExpandedLineString(__int64 lineNum) Line 445 C++ Symbols loaded.
klogg.exe!LogFilteredData::doGetExpandedLines(__int64 first_line, int number) Line 467 C++ Symbols loaded.
klogg.exe!AbstractLogData::getExpandedLines(__int64 first_line, int number) Line 49 C++ Symbols loaded.
klogg.exe!AbstractLogView::drawTextArea(QPaintDevice * paint_device, int delta_y) Line 1618 C++ Symbols loaded.
klogg.exe!AbstractLogView::paintEvent(QPaintEvent * paintEvent) Line 808 C++ Symbols loaded.

Looks like filtered view is asking for lines that are not in the index yet.

Quick find search wrap

Moved part of #47 by @nocnokneo to separate issue

Next search occurrence should wrap (or at least have an option for it) with some sort of indication that the search has wrapped around the to beginning/end (maybe like Qt Creator does)

Search in all opened files

It is not an issue, looks more like feature request. There is a feature in notepad++ that missing in klogg: search in multiple files.
I think that most convenient way to show results - is to show all results in one window.

Qt 5.9.1 performance regression on win32

Qt 5.9.1 x32 build from Appveyor as well as dev build with static Qt 5.9.2 x64 has visible lag during regex search compared to latest released build (Qt 5.7.1 x64) and Appveyor build with Qt 5.7.1 x32.

Might be related to QRegularExpression in 5.9:

QRegularExpression now requires the PCRE2 library version 10.20, or later. Support for the PCRE1 library was dropped. A copy of PCRE2 is shipped with Qt and will automatically be used on the platforms that lack it.

Or it might be some subtle change in Qt Concurrent filter that is used (rather poorly) during search.

Localization

Need to review code to provide support for translations

Improve search line usability

  • add button to switch search type between regex/text
  • move search options to the left of search input and made them buttons to save space

Make keyboard shortcuts configurable

QKeyEvent is not aware of keyboard layouts. Need to find a workaround. Quick search points to QKeyEvent::nativeScanCode(), but it doesn't work on cocoa.

  • Add shortcuts configuration dialog
  • Make all main window shortcuts configurable
  • Allow to clear a shortcut
  • Store shortcuts in human-readable format

Расширение функционала

Здравствуйте Артём.
Мне не хватает стандартного функционала gloog'a и я уже собирался начать изучать Си, чтобы улучшить glogg, но заметил, что вы уже занялись улучшением.
В glogg сложно работать с очень широким логами, поэтому хочется чтобы при клике на строке производилась разбивка на более мелкие части.
Т.е. разбивается одна строка, а не все строки, как это делается в анализаторах лога.
Как это выглядит, я изобразил в прототипе:
online: http://webix.com/snippet/bc6dbf4a
gist: https://gist.github.com/gimntut/1b30f92b99dd95485efdd5c8758dbea0#file-klogg-advance-html
Прототип без интерактива, но если захочется, то могу его доработать.
Правая раскладка для большого числа коротких полей.
Нижняя для малого числа длинных полей.

Так же я заложил в прототип идею сложных запросов.
(word1)*(word2) - поиск строк в которых есть и word1 и word2
(word1)+(word2) - поиск строк в которых есть или word1 или word2
Естественно, можно комбинировать: (word1)*(word2)+(word3)*(word4)
Можно было использовать символы & и |, но для работы с русскими текстами символы * и + более удобны - не нужно переключаться. А символ скобки всё равно не используется в классическом glogg'е.
Кроме поиска по сложным выражениям, должно быть и исключение из результатов поиска.

Самое сложное это управление схемами. Т.к. я не был уверен, что вы примите мои идеи, то в прототип закладывать пример реализации не стал, но в общих чертах это должно быть похоже на это видео:
https://youtu.be/i-Agb6IWsDQ
Если захотите, то я могу показать, как я это вижу в виде дополненного прототипа.

Если всё это появится в glogg'e, то это будет программа мечты.

Win32 version

Hello.
Readme suggests going to AppVeyor to download win32 build, but I'm not familiar with it and there seems to be only file for win64 (latest build).
Can you please tell me how to download win32 build and update Readme?

Add scratch pad window to copy some data

Windbg has useful scratch pad window where one can copy some useful strings from several log files. It can be done with notepad but might be useful to have such window in klogg.

algorithm(2417): error C2678: binary '*': no operator found which takes a left-hand operand of type 'const Marks::const_iterator' (or there is no acceptable conversion)

Details:

Microsoft Windows [Version 10.0.15063]
(c) 2017 Microsoft Corporation. All rights reserved.

D:\glogg>"F:\Qt\5.10.0\msvc2017_64\bin\qtenv2.bat"
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!

F:\Qt\5.10.0\msvc2017_64>"F:\VisualStudio2017\VC\Auxiliary\Build\vcvars64.bat"
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.5.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

F:\Qt\5.10.0\msvc2017_64>cd /d D:\glogg

D:\glogg>md build
D:\glogg>cd build

D:\glogg\build>D:\User\Documents\CMake\bin\cmake.exe -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_VERSION=X.X.X ../
Version override X.X.X
Build
Project version is 17.12.0
Project version tweak is 0

CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS /W4 /O2 /wd4127
CMAKE_CXX_FLAGS: /DWIN32 /D_WINDOWS /W4 /GR /EHsc /O2 /wd4127
CMAKE_EXE_LINKER_FLAGS: /machine:x64
CMAKE_MODULE_LINKER_FLAGS: /machine:x64
CMAKE_SHARED_LINKER_FLAGS: /machine:x64
CMAKE_STATIC_LINKER_FLAGS: /machine:x64
CMAKE_C_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG
CMAKE_CXX_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG
CMAKE_EXE_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_MODULE_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_SHARED_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_STATIC_LINKER_FLAGS_RELEASE:

Support for cross-platform IPC will be included
CMake Error at cmake/pandocology.cmake:48 (message):
  Pandoc not found.  Install Pandoc (http://johnmacfarlane.net/pandoc/) or
  set cache variable PANDOC_EXECUTABLE.
Call Stack (most recent call first):
  CMakeLists.txt:164 (include)


-- Configuring incomplete, errors occurred!
See also "D:/User/Dropbox/SoftwareVersioning/glogg/build/CMakeFiles/CMakeOutput.log".

D:\glogg\build>D:\User\Documents\CMake\bin\cmake.exe -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_VERSION=X.X.X ../
Version override X.X.X
Build
Project version is 17.12.0
Project version tweak is 0

CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS /W4 /O2 /wd4127
CMAKE_CXX_FLAGS: /DWIN32 /D_WINDOWS /W4 /GR /EHsc /O2 /wd4127
CMAKE_EXE_LINKER_FLAGS: /machine:x64
CMAKE_MODULE_LINKER_FLAGS: /machine:x64
CMAKE_SHARED_LINKER_FLAGS: /machine:x64
CMAKE_STATIC_LINKER_FLAGS: /machine:x64
CMAKE_C_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG
CMAKE_CXX_FLAGS_RELEASE: /MD /O2 /Ob2 /DNDEBUG
CMAKE_EXE_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_MODULE_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_SHARED_LINKER_FLAGS_RELEASE: /INCREMENTAL:NO
CMAKE_STATIC_LINKER_FLAGS_RELEASE:

Support for cross-platform IPC will be included
-- Configuring done
-- Generating done
-- Build files have been written to: D:/User/Dropbox/SoftwareVersioning/glogg/build

D:\glogg\build>"D:\User\Documents\CMake\bin\cmake.exe" --build . --config Release
Scanning dependencies of target generate_version
Git branch: master-variar
Git commit: d066dd8
Git commit: 17.12.0-2-gd066dd8
[  0%] Built target generate_version
Scanning dependencies of target html_readme
[  1%] Generating documentation.rst
[  1%] Generating readme.html
[  1%] Built target html_readme
Scanning dependencies of target uchardet_autogen
[  1%] Automatic MOC for target uchardet
Generating MOC compilation uchardet_autogen/moc_compilation.cpp
[  1%] Built target uchardet_autogen
Scanning dependencies of target uchardet
[  1%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/CharDistribution.cpp.obj
CharDistribution.cpp
[  2%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/JpCntx.cpp.obj
JpCntx.cpp
[  3%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangArabicModel.cpp.obj
LangArabicModel.cpp
[  3%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangBulgarianModel.cpp.obj
LangBulgarianModel.cpp
[  4%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangRussianModel.cpp.obj
LangRussianModel.cpp
[  5%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangEsperantoModel.cpp.obj
LangEsperantoModel.cpp
[  5%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangFrenchModel.cpp.obj
LangFrenchModel.cpp
[  6%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangDanishModel.cpp.obj
LangDanishModel.cpp
[  7%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangGermanModel.cpp.obj
LangGermanModel.cpp
[  8%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangGreekModel.cpp.obj
LangGreekModel.cpp
[  8%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangHungarianModel.cpp.obj
LangHungarianModel.cpp
[  9%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangHebrewModel.cpp.obj
LangHebrewModel.cpp
[ 10%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangSpanishModel.cpp.obj
LangSpanishModel.cpp
[ 10%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangThaiModel.cpp.obj
LangThaiModel.cpp
[ 11%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangTurkishModel.cpp.obj
LangTurkishModel.cpp
[ 12%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/LangModels/LangVietnameseModel.cpp.obj
LangVietnameseModel.cpp
[ 12%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsHebrewProber.cpp.obj
nsHebrewProber.cpp
[ 13%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsCharSetProber.cpp.obj
nsCharSetProber.cpp
D:\glogg\3rdparty\uchardet\src\nsCharSetProber.cpp(77): warning C4244: '=': conversion from '__int64' to 'PRUint32', possible loss of data
D:\glogg\3rdparty\uchardet\src\nsCharSetProber.cpp(122): warning C4244: '=': conversion from '__int64' to 'PRUint32', possible loss of data
[ 14%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsBig5Prober.cpp.obj
nsBig5Prober.cpp
[ 14%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsEUCJPProber.cpp.obj
nsEUCJPProber.cpp
[ 15%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsEUCKRProber.cpp.obj
nsEUCKRProber.cpp
[ 16%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsEUCTWProber.cpp.obj
nsEUCTWProber.cpp
[ 17%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsEscCharsetProber.cpp.obj
nsEscCharsetProber.cpp
[ 17%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsEscSM.cpp.obj
nsEscSM.cpp
[ 18%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsGB2312Prober.cpp.obj
nsGB2312Prober.cpp
[ 19%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsMBCSGroupProber.cpp.obj
nsMBCSGroupProber.cpp
[ 19%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsMBCSSM.cpp.obj
nsMBCSSM.cpp
[ 20%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsSBCSGroupProber.cpp.obj
nsSBCSGroupProber.cpp
[ 21%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsSBCharSetProber.cpp.obj
nsSBCharSetProber.cpp
[ 21%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsSJISProber.cpp.obj
nsSJISProber.cpp
[ 22%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsUTF8Prober.cpp.obj
nsUTF8Prober.cpp
[ 23%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsLatin1Prober.cpp.obj
nsLatin1Prober.cpp
[ 24%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/nsUniversalDetector.cpp.obj
nsUniversalDetector.cpp
[ 24%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/src/uchardet.cpp.obj
uchardet.cpp
[ 25%] Building CXX object 3rdparty/uchardet/CMakeFiles/uchardet.dir/uchardet_autogen/moc_compilation.cpp.obj
moc_compilation.cpp
[ 26%] Linking CXX static library ..\..\output\uchardet.lib
[ 26%] Built target uchardet
Scanning dependencies of target efsw_autogen
[ 27%] Automatic MOC for target efsw
Generating MOC compilation efsw_autogen/moc_compilation.cpp
[ 27%] Built target efsw_autogen
Scanning dependencies of target efsw
[ 27%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/Debug.cpp.obj
Debug.cpp
[ 28%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/DirectorySnapshot.cpp.obj
DirectorySnapshot.cpp
[ 29%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/DirectorySnapshotDiff.cpp.obj
DirectorySnapshotDiff.cpp
[ 29%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/DirWatcherGeneric.cpp.obj
DirWatcherGeneric.cpp
[ 30%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileInfo.cpp.obj
FileInfo.cpp
[ 31%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileSystem.cpp.obj
FileSystem.cpp
[ 31%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileWatcher.cpp.obj
FileWatcher.cpp
[ 32%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileWatcherCWrapper.cpp.obj
FileWatcherCWrapper.cpp
[ 33%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileWatcherGeneric.cpp.obj
FileWatcherGeneric.cpp
D:\glogg\3rdparty\efsw\src\efsw\FileWatcherGeneric.cpp(153): warning C4100: 'action': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\FileWatcherGeneric.cpp(153): warning C4100: 'filename': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\FileWatcherGeneric.cpp(153): warning C4100: 'watch': unreferenced formal parameter
[ 33%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileWatcherImpl.cpp.obj
FileWatcherImpl.cpp
[ 34%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/Log.cpp.obj
Log.cpp
[ 35%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/Mutex.cpp.obj
Mutex.cpp
[ 36%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/String.cpp.obj
String.cpp
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(473): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(512): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(620): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(640): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(700): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(720): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(740): warning C4100: 'n': unreferenced formal parameter
D:\glogg\3rdparty\efsw\src\efsw\String.cpp(760): warning C4100: 'n': unreferenced formal parameter
[ 36%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/System.cpp.obj
System.cpp
[ 37%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/Thread.cpp.obj
Thread.cpp
[ 38%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/Watcher.cpp.obj
Watcher.cpp
[ 38%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/WatcherGeneric.cpp.obj
WatcherGeneric.cpp
[ 39%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/platform/win/FileSystemImpl.cpp.obj
FileSystemImpl.cpp
[ 40%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/platform/win/MutexImpl.cpp.obj
MutexImpl.cpp
[ 40%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/platform/win/SystemImpl.cpp.obj
SystemImpl.cpp
[ 41%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/platform/win/ThreadImpl.cpp.obj
ThreadImpl.cpp
[ 42%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/FileWatcherWin32.cpp.obj
FileWatcherWin32.cpp
d:\glogg\3rdparty\efsw\src\efsw\filewatcherwin32.cpp(281) : warning C4701: potentially uninitialized local variable 'fwAction' used
[ 42%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/src/efsw/WatcherWin32.cpp.obj
WatcherWin32.cpp
[ 43%] Building CXX object 3rdparty/efsw/CMakeFiles/efsw.dir/efsw_autogen/moc_compilation.cpp.obj
moc_compilation.cpp
[ 44%] Linking CXX static library ..\..\output\efsw.lib
[ 44%] Built target efsw
Scanning dependencies of target utils_autogen
[ 45%] Automatic MOC for target utils
Generating MOC compilation utils_autogen/moc_compilation.cpp
[ 45%] Built target utils_autogen
Scanning dependencies of target utils
[ 46%] Building CXX object src/utils/CMakeFiles/utils.dir/src/persistentinfo.cpp.obj
persistentinfo.cpp
[ 46%] Building CXX object src/utils/CMakeFiles/utils.dir/src/configuration.cpp.obj
configuration.cpp
[ 47%] Building CXX object src/utils/CMakeFiles/utils.dir/utils_autogen/moc_compilation.cpp.obj
moc_compilation.cpp
[ 48%] Linking CXX static library ..\..\output\utils.lib
[ 48%] Built target utils
Scanning dependencies of target filewatch_autogen
[ 49%] Automatic MOC for target filewatch
Generating MOC source filewatch_autogen/6YEA5652QU/moc_filewatcher.cpp
Generating MOC compilation filewatch_autogen/moc_compilation.cpp
[ 49%] Built target filewatch_autogen
Scanning dependencies of target filewatch
[ 50%] Building CXX object src/filewatch/CMakeFiles/filewatch.dir/src/filewatcher.cpp.obj
filewatcher.cpp
[ 51%] Building CXX object src/filewatch/CMakeFiles/filewatch.dir/filewatch_autogen/moc_compilation.cpp.obj
moc_compilation.cpp
[ 51%] Linking CXX static library ..\..\output\filewatch.lib
[ 51%] Built target filewatch
Scanning dependencies of target logdata_autogen
[ 52%] Automatic MOC for target logdata
Generating MOC source logdata_autogen/VVDFVJO4II/moc_abstractlogdata.cpp
Generating MOC source logdata_autogen/VVDFVJO4II/moc_logdata.cpp
Generating MOC source logdata_autogen/VVDFVJO4II/moc_logdataworkerthread.cpp
Generating MOC source logdata_autogen/VVDFVJO4II/moc_logfiltereddata.cpp
Generating MOC source logdata_autogen/VVDFVJO4II/moc_logfiltereddataworkerthread.cpp
Generating MOC compilation logdata_autogen/moc_compilation.cpp
[ 52%] Built target logdata_autogen
Scanning dependencies of target logdata
[ 53%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/abstractlogdata.cpp.obj
abstractlogdata.cpp
[ 54%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/blockpool.cpp.obj
blockpool.cpp
[ 54%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/compressedlinestorage.cpp.obj
compressedlinestorage.cpp
[ 55%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/encodingdetector.cpp.obj
encodingdetector.cpp
[ 56%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/logdata.cpp.obj
logdata.cpp
[ 56%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/logdataworkerthread.cpp.obj
logdataworkerthread.cpp
[ 57%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/logfiltereddata.cpp.obj
logfiltereddata.cpp
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): error C2678: binary '*': no operator found which takes a left-hand operand of type 'const Marks::const_iterator' (or there is no acceptable conversion)
D:\glogg\src\logdata\include\data\marks.h(85): note: could be 'const Mark &Marks::const_iterator::operator *(void)'
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): note: while trying to match the argument list '(const Marks::const_iterator)'
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2439): note: see reference to function template instantiation '_FwdIt std::_Lower_bound_unchecked<_Iter,_Ty,_Fn>(_FwdIt,_FwdIt,const _Ty &,_Pr)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            _Iter=Marks::const_iterator,
            _Ty=LineNumber,
            _Fn=std::less<void>,
            _Pr=std::less<void>
        ]
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2447): note: see reference to function template instantiation '_FwdIt std::lower_bound<_FwdIt,_Ty,std::less<void>>(_FwdIt,_FwdIt,const _Ty &,_Pr)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            _Ty=LineNumber,
            _Pr=std::less<void>
        ]
d:\glogg\src\logdata\include\data\linetypes.h(177): note: see reference to function template instantiation '_FwdIt std::lower_bound<Iterator,LineNumber>(_FwdIt,_FwdIt,const _Ty &)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            Iterator=Marks::const_iterator,
            _Ty=LineNumber
        ]
D:\glogg\src\logdata\src\logfiltereddata.cpp(416): note: see reference to function template instantiation 'LineNumber lookupLineNumber<Marks::const_iterator>(Iterator,Iterator,LineNumber)' being compiled
        with
        [
            Iterator=Marks::const_iterator
        ]
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): error C2100: illegal indirection
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\Hostx64\x64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64\nmake.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64\nmake.exe' : return code '0x2'
Stop.

D:\glogg\build>



Changing "F:\VisualStudio2017\VC\Auxiliary\Build\vcvars64.bat" to "F:\VisualStudio2017\Common7\Tools\VsDevCmd.bat" -arch=x64, the error still the same, but it is showed a little different:

D:\glogg\build>"F:\VisualStudio2017\Common7\Tools\VsDevCmd.bat" -arch=x64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.5.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

D:\glogg\build>"D:\User\Documents\CMake\bin\cmake.exe" --build . --config Release
Git branch: master-variar
Git commit: d066dd8
Git commit: 17.12.0-2-gd066dd8
[  0%] Built target generate_version
[  1%] Built target html_readme
[  1%] Automatic MOC for target uchardet
[  1%] Built target uchardet_autogen
[ 26%] Built target uchardet
[ 27%] Automatic MOC for target efsw
[ 27%] Built target efsw_autogen
[ 44%] Built target efsw
[ 45%] Automatic MOC for target utils
[ 45%] Built target utils_autogen
[ 48%] Built target utils
[ 49%] Automatic MOC for target filewatch
[ 49%] Built target filewatch_autogen
[ 51%] Built target filewatch
[ 52%] Automatic MOC for target logdata
[ 52%] Built target logdata_autogen
[ 53%] Building CXX object src/logdata/CMakeFiles/logdata.dir/src/logfiltereddata.cpp.obj
logfiltereddata.cpp
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): error C2678: binary '*': no operator found which takes a left-hand operand of type 'const Marks::const_iterator' (or there is no acceptable conversion)
D:\glogg\src\logdata\include\data\marks.h(85): note: could be 'const Mark &Marks::const_iterator::operator *(void)'
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): note: while trying to match the argument list '(const Marks::const_iterator)'
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2439): note: see reference to function template instantiation '_FwdIt std::_Lower_bound_unchecked<_Iter,_Ty,_Fn>(_FwdIt,_FwdIt,const _Ty &,_Pr)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            _Iter=Marks::const_iterator,
            _Ty=LineNumber,
            _Fn=std::less<void>,
            _Pr=std::less<void>
        ]
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2447): note: see reference to function template instantiation '_FwdIt std::lower_bound<_FwdIt,_Ty,std::less<void>>(_FwdIt,_FwdIt,const _Ty &,_Pr)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            _Ty=LineNumber,
            _Pr=std::less<void>
        ]
d:\glogg\src\logdata\include\data\linetypes.h(177): note: see reference to function template instantiation '_FwdIt std::lower_bound<Iterator,LineNumber>(_FwdIt,_FwdIt,const _Ty &)' being compiled
        with
        [
            _FwdIt=Marks::const_iterator,
            Iterator=Marks::const_iterator,
            _Ty=LineNumber
        ]
D:\glogg\src\logdata\src\logfiltereddata.cpp(416): note: see reference to function template instantiation 'LineNumber lookupLineNumber<Marks::const_iterator>(Iterator,Iterator,LineNumber)' being compiled
        with
        [
            Iterator=Marks::const_iterator
        ]
F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\include\algorithm(2417): error C2100: illegal indirection
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\Hostx64\x64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64\nmake.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'F:\VisualStudio2017\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64\nmake.exe' : return code '0x2'
Stop.

D:\glogg\build>


Quick Find usage quirks

A few issues with quick find:

  • The cursor jumps to the end of the quick find search field after every character (makes it very annoying to edit a search)
  • Hitting the Quick Find Ctrl+F shortcut should highlight any existing text that is already in the field (doesn't work if the Quick Find search already has focus)
  • Hitting the Quick Find Ctrl+F shortcut while text is selected in the log view or the filtered log view should set the Quick Find search term to that selected text
  • Standard shortcuts for next/previous search occurrence should work (e.g. Ctrl+G / Ctrl+Shift+G)
  • Next search occurrence should wrap (or at least have an option for it) with some sort of indication that the search has wrapped around the to beginning/end (maybe like Qt Creator does)

Issue installing latest build on Linux

When trying to install the latest build, I get the following error:

dpkg: error processing archive klogg-19.1.0-r318-Linux.deb (--install):
trying to overwrite '/usr/include/tbb/aggregator.h', which is also in package libtbb-dev:amd64 2017~U7-8
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

Overview widget does too much on ui thread

During search operation overview widget updates with new matches. callgrind shows that this activity takes aroung 10% of time. In case of large amount of matches UI becomes unresponsive.

Фокус ввода не захватывается окном при открытии второго лога

При открытии второго лога он открывается, окно переходит на первый план, но фокус остаётся в предыдущем приложении (на первом логе этого нет).
Теперь фокус переходит в строку поиска во вновь открытом логе.

Не исправлено. Курсор действительно мигает в строке поиска, но ввод с клавиатуры всё равно уходит в другое приложение.

Последнюю строку не всегда видно

Вертикальный скроллинг устроен так, что всегда верхняя строчка в окне видна целиком. Из-за этого последняя строчка может быть почти полностью обрезана

klogg does not reflect changes in log file unless glogg is open

I am running on Windows 10 1809.

I just installed Klogg version 19.1.0.332.

Previous to that, I already had glogg v1.1.4-x86_64 installed.

When I load a log file in klogg that is actively being written to, it does not show any newly written lines, after the lines that were shown when the file was first loaded. Essentially it is static.

If I then open glogg, while keeping open klogg, klogg will now correctly be updating the new lines being written to the file.

CI build 19.01.0.273 (x64) deb file crashes lintian

When opening the latest .deb from CI builds, v19.01.0.273 (x64) (linked in the readme), GDebi opens and then closes. When GDebi is already open, and from it I open the .deb, it freezes. On further inspection, it appears that lintian is hanging on it, and System Monitor reports it as "Zombie".

Ubuntu MATE 18.04.1
GDebi 0.9.5.7+nmu2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.