Email contact@gramshift.com in English or Japanese. We reply within 7 business days, usually sooner. Please include your Windows version, your Stream Deck app version, the key's settings (the file and the patterns; remove anything secret), and, if possible, a photo or screenshot of the key and of its settings. Please do not send passwords, keys or other secrets.
%USERPROFILE% style variables and a leading ~ work. The path must be a full path (starting with a drive letter such as C:\, or with \\server\).C:\server\logs\*.log. The key then follows the newest file (the one written last) whose name matches. The File names field is the pattern used when you enter only a folder (default *.log; * and ? work, upper and lower case are the same).error|fail|exception), and enter a Success pattern (for example build succeeded|done) and an Ignore pattern (for example \b0 errors|DEBUG; \b is a word boundary, so it skips "0 errors" but not "10 errors"). They are regular expressions and ignore upper and lower case. For each new line: a line that matches the ignore pattern is skipped; otherwise a line that matches the error pattern is counted; otherwise a line that matches the success pattern turns the key green.| Key | Meaning |
|---|---|
Gray, 0, no errors | No error line and no success line since the key started watching or since you last pressed it. |
| Red, a number | That many error lines since you last pressed the key (up to 999, then 999+). The last error line is shown under the number. The key stays red until you press it, even if a success line comes later. |
Green frame, OK | The last matched line was a success line (and there are no error lines to clear). |
No file | The file, or a matching file in the folder, does not exist (yet). The key starts following it when it appears, from its first line. |
CAN'T READ | Windows did not let the plugin read the file or folder (the reason is shown, for example EACCES or EBUSY). It is tried again every second. |
check pattern | One of the patterns is not a valid regular expression. Nothing is counted until it is fixed; the Status line in the settings says which one. |
--, not a full path | The path does not start with a drive letter or \\server\. |
The bottom line shows how long ago the file was last written, for example updated 2m ago. Press the key to clear the count. Hold the key for about half a second to open the file in the app Windows uses for it (the same as a double click).
The second action, Last Line, shows the latest line of a log on the key, for example the progress of a long copy, the step of a build, or the players on a game server, so you do not need to switch windows. It has no red or green: counting errors is what Watch Log does.
C:\copy\logs\*.log) and, if needed, the Encoding, just like for Watch Log.Copied|% for the progress lines of a copy). An Ignore pattern skips lines. Empty lines are never shown.…. The bottom row shows how long ago the file was last written.Old errors in the file are not counted.
That is on purpose: when you set up the key (and after you change the file or the encoding), it starts at the end of the file and counts only lines added after that. A file that appears later, or a new file in a watched folder, is read from its first line.
The log is written again every run (for example > build.log in a batch file, or robocopy /LOG:).
When the file gets smaller, when its first bytes or the bytes just before the point the key has read up to change, or when it is written again with the same size, the key reads it again from its first line, so every run is counted. One case can not be told apart from lines being added: a new run that writes, within one second, exactly the same text as the whole previous file and then more; then only the added lines are counted. The other way round, a change of only the file's last write time (for example by a tool that sets file times, while the text stays the same) is also taken as the file being written again, and its lines are counted again.
The log is renamed or rotated.
The key remembers how far it has read each file, by name and by the file's ID, so a log renamed to another name in the same folder (for example backup.log to backup_20261001.log) is not read again from its start. When the file you entered is renamed away and a new one is created under its name, the key first reads the last lines of the renamed file, if it is still in the same folder, and then the new file from its first line. In a folder, the key follows the newest file and reads the last lines of the previous one first.
The last line has no line end.
A line is counted when its line end is written. A last line without a line end is counted when the file has not grown for about 3 seconds; if its line end comes later, it is not counted again.
The program writing the log keeps it open.
The plugin opens the file only to read, for a moment, when its size or its last write time has changed. A program that allows other programs to read the file while it writes (most programs that write logs do) keeps writing, and can rename or delete the file, as usual. A program that opens the log exclusively (no reading by others) makes the key show CAN'T READ while it holds the file; such a program may also fail to open the file in the moment the plugin reads it.
A line such as "0 errors" or "failover" is counted.
The default error pattern looks for the words anywhere in the line. Enter an ignore pattern (for example \b0 (errors|failed)\b) or your own error pattern (for example \bERROR\b|FATAL). A pattern that matches an empty text (for example error| with a | at the end) would match every line, so the key shows check pattern instead. Empty lines are never counted.
Japanese or other non-English text looks wrong.
Automatic reads UTF-8, and UTF-16 when the file starts with a byte order mark (as Windows PowerShell's > writes). For Japanese logs written in Shift_JIS (CP932), choose Shift_JIS; for UTF-16 without a byte order mark, choose UTF-16 LE without BOM.
A very large amount is written at once.
The plugin reads at most 4 MB at a time and goes on right after, so the key stays responsive. The patterns look at the first 8,192 characters of each line. Of a line longer than 64 KB, only its first 64 KB are kept; it is still one line and counted once.
The key is on another page.
While the key is not visible, the file is not read. When you come back to the page, the lines written meanwhile are read and counted.
The Stream Deck app or the PC was restarted.
The key saves its count and how far it has read in its own settings (in your Stream Deck profile on this PC). After a restart, a count you have not pressed away yet is shown again, and when the file is still the same file (the same file ID), the key continues where it stopped, so errors written while the Stream Deck app was not running are counted. When the file is another one by then (deleted and created again), the count stays and the key starts at the end of the new file. The position is saved at most every 30 seconds (a new count or a press at once), so after a sudden stop some lines may be read again; the saved count and position always belong together, so a line is not counted twice by this.
Does it work on Mac? Does it support the Stream Deck + dials?
No. This plugin is for keys on Windows 10 or later only.
The plugin runs entirely on your PC, only reads the files you enter, and sends no data anywhere. See the Privacy Policy.