GithubHelp home page GithubHelp logo

variar / klogg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nickbnf/glogg

2.1K 35.0 181.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 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.

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

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

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

Здравствуйте Артём.
Мне не хватает стандартного функционала 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, то это будет программа мечты.

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.

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

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)

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.

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

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

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

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

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>


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.

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

Localization

Need to review code to provide support for translations

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)

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

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.

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?

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.

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)

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

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.