Skip to content

check_logfile: imporve file scanning and keep track of lines matched in each file#390

Open
inqrphl wants to merge 3 commits into
mainfrom
check-logfile-improve-line-count-tracking-and-output
Open

check_logfile: imporve file scanning and keep track of lines matched in each file#390
inqrphl wants to merge 3 commits into
mainfrom
check-logfile-improve-line-count-tracking-and-output

Conversation

@inqrphl

@inqrphl inqrphl commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

apply conditional filters to the lines early on while adding them, this was not the case before. now the count of lines being passing the filter is correct.

add function to generate a detail string from files and the count of matched lines in the file. this can be added to the detail-syntax when needed. this is saved in check.detail as "file_counts"

Files exist, but do not have matching lines:

ahmet@jelinek:~/repositories/snclient$ ./snclient --logfile stdout run check_logfile files=./pkg/snclient/t/test*.log filter='line LIKE this-pattern-does-not-exist-in-the-test-files'
OK - No matching lines found in files (pkg/snclient/t/test.log: 0, pkg/snclient/t/test2.log: 0)

No file found:

ahmet@jelinek:~/repositories/snclient$ ./snclient --logfile stdout run check_logfile files=./pkg/snclient/t/testfiledoesnotexist.log
UNKNOWN - No files found to search lines in, search paths: './pkg/snclient/t/testfiledoesnotexist.log'

@inqrphl inqrphl marked this pull request as draft June 15, 2026 14:16
…in each file

apply conditional filters to the lines early on while adding them, this was not the case before. now the count of lines being passing the filter is correct.

add function to generate a detail string from files and the count of matched lines in the file. this  can be added to the detailed syntax when needed.

if there are no lines matched across all files, change the main output line to say "No matching lines found in files"
@inqrphl inqrphl force-pushed the check-logfile-improve-line-count-tracking-and-output branch from 112f913 to ad5c627 Compare June 16, 2026 16:17
differentiate between empty states
1) where no files are found, due to given file paths
2) where files are found but do not contain matched lines.

write different outputs for both of them, and add tests
@inqrphl inqrphl force-pushed the check-logfile-improve-line-count-tracking-and-output branch from ad5c627 to e1d777c Compare June 17, 2026 11:42
@inqrphl inqrphl marked this pull request as ready for review June 17, 2026 11:43
@lgmu

lgmu commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Should still be UNKNOWN when the file does not exist at all.
Only should be OK when the file exists but the filter doesn't match any lines.

…s exist without matched lines

checkdata.finalizeOutput() requires explicit filters or implicit argument filters to apply emptySyntax on output. apply empty syntax on empty state, by setting the "file" and files" argument is set as a filter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants