The main window is divided in three parts : the top displays the log view. The bottom part, called the "filtered view", shows the results of the search. The line separating the two contains the regular expression used as a filter.
Entering a new regular expression, or a simple search term, will update the bottom view, displaying the results of the search. The lines matching the search criteria are listed in order in the results, and are marked with a red circle in both windows.
Regular expressions are a powerful way to extract the information you are interested in from the log view. klogg-io uses extended regular expressions.
One of the most useful regexp feature when exploring logs is the alternation, using parentheses and the | operator. It searches for several alternatives, permitting to display several line types in the filtered window, in the same order they appear in the log view.
For example, to check that every connection opened is also closed, one can use an expression similar to:
Entering (Open|Close)Connection
Any 'open' call without a matching 'close' will immediately be obvious in the filtered window. The alternation also works with the whole search line. For example if you also want to know what kind of connection has been opened:
Entering (Open|Close)Connection|Created a .* connection
.*
will match any sequence of character on a single line, but klogg-io
will only display lines with a space and the word connection
somewhere
after Created a
klogg-io keeps history of used search patterns and provides autocomplete for them. This history can be cleared from search text box context menu. Autocomplete is case sensitive if this option is selected for matching regular expression.
In addition to the filtered window, the match overview on the right hand side of the screen offers a view of the position of matches in the log view. Matches are showed as small red lines.
In addition to regexp matches, klogg-io enables the user to mark any
interesting line in the log. To do this, click on the round bullet in
the left margin in front of the line that needs to be marked or select
the line and press 'm'
hotkey.
To mark several lines at once select them and use 'm'
hotkey or context menu.
Marks are combined with matches and are always visible in the filtered window. They also appear as blue lines in the match overview.
klogg-io tries to guess encoding of opened input. If that guess happens to
be wrong then desired encoding can be selected from Encoding
menu.
Highlighters can colorize some lines of the log being displayed, for example to draw attention to lines indicating an error, or to associate a color with each sort of event.
Highlighters are grouped into sets. One set of highlighters can be active
at any given time. Current active set can be selected using either
context menu or Tools->Highlighters
menu.
Any number of highlighters can be defined in a single set. Highlighter configuration includes a regular expression to match and color options. Another option is to use plain text patterns in cases when complex regular expression are not needed.
Each highlighter can be configured to apply fore and back colors either to the whole line that matched its regular expression or only to matching parts of the line. In the latter case if regular expression contains capture groups then only the captured parts of matching line are highlighted.
Order of highlighters in the set does matter. For each line all highlighters are tried from bottom to top. Each new matching highlighter overrides colors for current line.
Highlighters configuration can be exported to a file and imported for example on another machine. Each set is identified by unique guid. Only new sets are imported from file.
Determines which type of regular expression klogg-io will use when filtering lines for the bottom window, and when using QuickFind.
- Extended Regexp. The default, uses regular expressions similar to those used by Perl
- Fixed Strings. Searches for the text exactly as it is written, no character is special
If incremental quickfind is selected klogg-io will automatically restart quickfind search when search pattern changes. For performance reasons incremental quickfind can use only fixed strings patterns.
- Load last session -- if enabled klogg-io will reopen devices that were
opened when klogg-io was closed. View configuration, marked lines and
follow
mode settings are restored for each log view. - Follow on load -- if enabled klogg-io will enter
follow
mode for for all new opened loog views. - Minimize to tray -- if enabled klogg-io will minimize to tray instead
of closing main window. Use tray icon context menu of
File->Exit
to exit application. This option is not available on Mac OS.
The font used to display the log. A clear, monospace font (like the free, open source, DejaVu Mono for example) is recommended.
Font antialiasing can be forced if autodeteced options result in bad text rendering.
Qt usually comes with several options of drawing application widgets. By default klogg-io uses style that matches current operating system. Other styles can be chosen from the dropdown.
klogg-io will try to respect current display manager theme and use white icons for dark themes.
Another option is to select Dark style. In this case klogg-io will use custom dark stylesheet.
Options in this group can be used in case klogg-io window looks ugly on High DPI monitors. Usually Qt detects correct settings. However, especially for non-integer scale factors manual overrides might be useful.
These options allow to customize performance related settings.
If parallel search is enabled klogg-io will try to use several cpu cores for regular expression matching. This does not work with quickfind.
If search results cache is enabled klogg-io will store numbers of lines that matched search pattern in memory. Repeating search for the same pattern will not go through all lines but use cached line numbers instead.
In case there is some problem with klogg-io logging can be enabled with desired level of verbosity. Log files are save to temporary directory. Log level of 4 or 5 is usually enough.
klogg-io keyboard commands try to approximately emulate the default bindings used by the classic Unix utilities vi and less.
The main commands are:
Keys | Actions |
---|---|
arrows | scroll one line up/down or one column left/right |
[number] j/k | move the selection 'number' (or one) line down/up |
h/l | scroll left/right |
^ or $ | scroll to beginning or end of selected line |
[number] g | jump to the line number given or the first one if no number is |
entered | |
G | jump to the first line (selecting it) |
Shift+G | jump to the last line (selecting it) |
Alt+G | show jump to line dialog |
' or " | start a quickfind search in the current screen |
(forward and backward) | |
n or N | repeat the previous quickfind search forward/backward |
* or . | search for the next occurence of the currently selected text |
/ or , | search for the previous occurence of the currently selected text |
f | activate 'follow' mode, which keep the display as the tail of the |
log (like "tail -f") | |
m | put a mark on current selected line |
[ or ] | jump to previous or next marked line |
+ or - | decrease/increase filtered view size |
v | switch filtered view visibilty mode |
(Marks and Matches -> Marks -> Matches) | |
F5 | reopen current view |
Ctrl+S | Set focus to search string edit box |