2022-10-05 04:17:01 +00:00
[1m [31m✘ error [0m: invalid value for option “ [1m/bad_json_log/line-format#/timestamp-format [0m”
[1m [31mreason [0m: empty values are not allowed
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-json-format/format.json [0m:11
[36m | [0m [37m [40m "timestamp-format": "" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/bad_json_log/line-format#/timestamp-format [0m [4m<string> [0m
[1mDescription [0m
The strftime(3) format for this field
2023-04-06 05:52:55 +00:00
[33m⚠ warning [0m: unexpected value for property “ [1m/bad-name-log/title [0m”
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-name/format.json [0m:4
[36m | [0m [37m [40m "title": "bad-format", [0m
[36m = [0m [36mhelp [0m: [1mAvailable Properties [0m
[1m$schema [0m [4mThe URI of the schema for this file [0m
[1m(\w+) [0m [1m/ [0m
[33m⚠ warning [0m: unexpected value for property “ [1m/bad-name-log/description [0m”
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-name/format.json [0m:5
[36m | [0m [37m [40m "description": "Log format with a name that has invalid characters", [0m
[36m = [0m [36mhelp [0m: [1mAvailable Properties [0m
[1m$schema [0m [4mThe URI of the schema for this file [0m
[1m(\w+) [0m [1m/ [0m
[33m⚠ warning [0m: unexpected value for property “ [1m/bad-name-log/json [0m”
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-name/format.json [0m:6
[36m | [0m [37m [40m "json": true [0m
[36m = [0m [36mhelp [0m: [1mAvailable Properties [0m
[1m$schema [0m [4mThe URI of the schema for this file [0m
[1m(\w+) [0m [1m/ [0m
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: “invalid(abc” is not a valid regular expression
[1m [31mreason [0m: missing closing parenthesis
[36m --> [0m [1m/invalid_props_log/tags/badtag3/pattern [0m
[36m | [0m [37m [40minvalid [0m [1m [7m [32m [40m( [0m [37m [40mabc [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m
2022-10-03 04:58:10 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:36
2022-09-12 14:18:26 +00:00
[36m | [0m [37m [40m "pattern": "invalid(abc" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/invalid_props_log/tags/badtag3/pattern [0m [4m<regex> [0m
[1mDescription [0m
The regular expression to match against the body of the log message
[1mExample [0m
\w+ is down
[1m [31m✘ error [0m: “abc(def” is not a valid regular expression
[1m [31mreason [0m: missing closing parenthesis
[36m --> [0m [1m/invalid_props_log/search-table/bad_table_regex/pattern [0m
[36m | [0m [37m [40mabc [0m [1m [7m [32m [40m( [0m [37m [40mdef [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m [37m [40m [0m
2022-10-03 04:58:10 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:41
2022-09-12 14:18:26 +00:00
[36m | [0m [37m [40m "pattern": "abc(def" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/invalid_props_log/search-table/bad_table_regex/pattern [0m [4m<regex> [0m
[1mDescription [0m
The regular expression for this search table.
[1m [31m✘ error [0m: “^(?<timestamp>\d+: (?<body>.*)$” is not a valid regular expression
[1m [31mreason [0m: missing closing parenthesis
[36m --> [0m [1m/bad_regex_log/regex/std/pattern [0m
[36m | [0m [1m [36m [40m^ [0m [1m [7m [32m [40m( [0m [1m [32m [40m? [0m [1m [36m [40m< [0m [37m [40mtimestamp> [0m [1m [37m [40m\d [0m [1m [36m [40m+ [0m [37m [40m: [0m [1m [32m [40m( [0m [1m [32m [40m? [0m [1m [36m [40m< [0m [37m [40mbody> [0m [1m [36m [40m. [0m [1m [36m [40m* [0m [1m [32m [40m) [0m [1m [36m [40m$ [0m [37m [40m [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-regex/format.json [0m:6
[36m | [0m [37m [40m "pattern": "^(?<timestamp>\\d+: (?<body>.*)$" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/bad_regex_log/regex/std/pattern [0m [4m<message-regex> [0m
[1mDescription [0m
The regular expression to match a log message and capture fields.
[1m [31m✘ error [0m: “(foo” is not a valid regular expression
[1m [31mreason [0m: missing closing parenthesis
[36m --> [0m [1mpattern [0m
[36m | [0m [1m [7m [32m [40m( [0m [37m [40mfoo [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m [37m [40m [0m
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-regex/format.json [0m:13
[36m | [0m [37m [40m "error": "(foo" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/bad_regex_log/level/error [0m [4m<pattern|integer> [0m
[1mDescription [0m
The regular expression used to match the log text for this level. For JSON logs with numeric levels, this should be the number for the corresponding level.
[1m [31m✘ error [0m: “abc(” is not a valid regular expression
[1m [31mreason [0m: missing closing parenthesis
[36m --> [0m [1m/bad_regex_log/highlights/foobar/pattern [0m
[36m | [0m [37m [40mabc [0m [1m [7m [32m [40m( [0m [37m [40m [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m [37m [40m [0m
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-regex/format.json [0m:25
[36m | [0m [37m [40m "pattern": "abc(" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/bad_regex_log/highlights/foobar/pattern [0m [4m<regex> [0m
[1mDescription [0m
A regular expression to highlight in logs of this format.
2022-09-23 18:08:22 +00:00
[33m⚠ warning [0m: format file is missing “ [1m$schema [0m” property
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-regex/format.json [0m
[36m = [0m [36mnote [0m: the schema specifies the supported format version and can be used with editors to automatically validate the file
[36m = [0m [36mhelp [0m: add the following property to the top-level JSON object:
[37m [40m "$schema": "https://lnav.org/schemas/format-v1.schema.json", [0m
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: “foo” is not a valid value for option “ [1m/bad_sample_log/value/pid/kind [0m”
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:24
[36m | [0m [37m [40m "kind": "foo" [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/bad_sample_log/value/pid/kind [0m [4m<data-type> [0m
[1mDescription [0m
The type of data in the field
[1mAllowed Values [0m
[1mstring [0m, [1minteger [0m, [1mfloat [0m, [1mboolean [0m, [1mjson [0m, [1mstruct [0m, [1mquoted [0m, [1mxml [0m
[1m [31m✘ error [0m: ' [1mbad [0m' is not a supported log format $schema version
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-schema/format.json [0m:2
[36m | [0m [37m [40m "$schema": "bad" [0m
[36m = [0m [36mnote [0m: expecting one of the following $schema values:
[1m https://lnav.org/schemas/format-v1.schema.json [0m
[36m = [0m [36mhelp [0m: [1mProperty Synopsis [0m
[1m/$schema [0m [4mThe URI of the schema for this file [0m
[1mDescription [0m
Specifies the type of this file
2023-07-10 17:35:18 +00:00
[1m [31m✘ error [0m: SQL expression is invalid
[1m [31mreason [0m: unrecognized token: "'foobar"
[36m --> [0m [1m/bad_file_format1/converter/header/expr/default [0m
[36m | [0m [37m [40m:header [0m [37m [40m [0m [1m [36m [40mREGEXP [0m [37m [40m [0m [1m [7m [31m [40m' [0m [37m [40mfoobar [0m
[1m [31m✘ error [0m: A command is required when a converter is defined
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-file-format/format.json [0m:4
[36m = [0m [36mhelp [0m: The converter command transforms the file into a format that can be consumed by lnav
2022-10-05 04:17:01 +00:00
[1m [31m✘ error [0m: invalid line format element “ [1m/bad_json_log/line-format/0/field [0m”
[1m [31mreason [0m: “” is not a defined value
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-json-format/format.json [0m:7
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: invalid pattern: “ [1mincomplete-match [0m”
[1m [31mreason [0m: pattern does not match entire message
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-regex/format.json [0m:20
[36m | [0m [37m [40m1428634687123; foo [0m
[36m | [0m [37m [40m [0m [1m [31m [40m^ matched up to here [0m [37m [40m [0m
[36m = [0m [36mnote [0m: [1mincomplete-match [0m = [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\d [0m [1m [36m+ [0m [1m [32m) [0m;
[36m = [0m [36mhelp [0m: update the regular expression to fully capture the sample message
[1m [31m✘ error [0m: invalid sample log message: "abc: foo"
[1m [31mreason [0m: unrecognized timestamp -- abc
2023-05-06 17:29:38 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:34
2022-09-12 14:18:26 +00:00
[36m = [0m [36mnote [0m: the following custom formats were tried:
abc
[36m^ [0m“ [1m%i [0m” [36m matched up to here [0m
[36m = [0m [36mhelp [0m: If the timestamp format is not supported by default, you can add a custom format with the “ [1mtimestamp-format [0m” property
[1m [31m✘ error [0m: invalid sample log message: "1428634687123| debug hello"
[1m [31mreason [0m: “ [1mdebug [0m” does not match the expected level of “ [1minfo [0m”
2023-05-06 17:29:38 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:37
2022-09-12 14:18:26 +00:00
[36m = [0m [36mnote [0m: matched regex = [1mwith-level [0m
captured level = “debug”
2023-05-06 17:29:38 +00:00
level regular expression match results:
[1m/bad_sample_log/level/debug [0m = debug
debug
[36m^ [0m [36m--- [0m [36m^ [0m
[1m/bad_sample_log/level/info [0m = info
[33mno match [0m
[36m = [0m [36mhelp [0m: Level regexes are not anchored to the start/end of the string. Prepend “ [1m^ [0m” to the expression to match from the start of the string and append “ [1m$ [0m” to match up to the end of the string.
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: invalid pattern: “ [1mwith-level [0m”
[1m [31mreason [0m: pattern does not match entire multiline sample message
2023-05-06 17:29:38 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:41
2022-09-12 14:18:26 +00:00
[36m = [0m [36mnote [0m: [1mwith-level [0m = [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\d [0m [1m [36m+ [0m [1m [32m) [0m\| [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mlevel> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mbody> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [36m$ [0m
[36m = [0m [36mhelp [0m: use “.*” to match new-lines
[1m [31m✘ error [0m: invalid sample log message: "1428634687123; foo bar"
[1m [31mreason [0m: sample does not match any patterns
2023-05-06 17:29:38 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:45
2022-09-12 14:18:26 +00:00
[36m = [0m [36mnote [0m: the following shows how each pattern matched this sample:
[37m [40m1428634687123; foo bar [0m
[36m^ [0m [1mbad-time [0m [36m matched up to here [0m
[36m^ [0m [1msemi [0m [36m matched up to here [0m
[36m^ [0m [1mstd [0m [36m matched up to here [0m
[36m^ [0m [1mwith-level [0m [36m matched up to here [0m
[36m = [0m [36mnote [0m: [1mbad-time [0m = “ [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m: [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mbody> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [36m$ [0m”
[1msemi [0m = “ [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\d [0m [1m [36m+ [0m [1m [32m) [0m; [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mbody> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [36m$ [0m”
[1mstd [0m = “ [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\d [0m [1m [36m+ [0m [1m [32m) [0m: [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mpid> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mbody> [1m [36m. [0m [1m [36m* [0m [1m [32m) [0m [1m [36m$ [0m”
[1mwith-level [0m = “ [1m [36m^ [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mtimestamp> [1m\d [0m [1m [36m+ [0m [1m [32m) [0m\| [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mlevel> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [32m( [0m [1m [32m? [0m [1m [36m< [0mbody> [1m\w [0m [1m [36m+ [0m [1m [32m) [0m [1m [36m$ [0m”
[33m⚠ warning [0m: invalid pattern: “ [1m/bad_sample_log/regex/semi [0m”
[33mreason [0m: pattern does not match any samples
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:10
[36m = [0m [36mhelp [0m: every pattern should have at least one sample that it matches
[33m⚠ warning [0m: invalid pattern: “ [1m/bad_sample_log/regex/std [0m”
[33mreason [0m: pattern does not match any samples
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sample/format.json [0m:7
[36m = [0m [36mhelp [0m: every pattern should have at least one sample that it matches
2023-08-03 03:49:05 +00:00
[1m [31m✘ error [0m: invalid pattern: “ [1m/invalid_props_log/regex/std [0m”
[1m [31mreason [0m: no timestamp capture found in the pattern
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
[36m = [0m [36mhelp [0m: all log messages need a timestamp
2022-09-12 14:18:26 +00:00
[33m⚠ warning [0m: invalid value “ [1m/invalid_props_log/value/non-existent [0m”
[33mreason [0m: no patterns have a capture named “non-existent”
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
[36m = [0m [36mnote [0m: the following captures are available:
[1mbody [0m, [1mpid [0m, [1mtimestamp [0m
[36m = [0m [36mhelp [0m: values are populated from captures in patterns, so at least one pattern must have a capture with this value name
[1m [31m✘ error [0m: invalid tag definition “ [1m/invalid_props_log/tags/badtag [0m”
[1m [31mreason [0m: tag definitions must have a non-empty pattern
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
[1m [31m✘ error [0m: invalid tag definition “ [1m/invalid_props_log/tags/badtag2 [0m”
[1m [31mreason [0m: tag definitions must have a non-empty pattern
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
[1m [31m✘ error [0m: invalid tag definition “ [1m/invalid_props_log/tags/badtag3 [0m”
[1m [31mreason [0m: tag definitions must have a non-empty pattern
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
2022-10-03 04:58:10 +00:00
[1m [31m✘ error [0m: “ [1minvalid_props_log [0m” is not a valid log format
[1m [31mreason [0m: “ [1msubsecond-unit [0m” must be set when “ [1msubsecond-field [0m” is used
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: invalid value for property “ [1m/invalid_props_log/timestamp-field [0m”
[1m [31mreason [0m: “ts” was not found in the pattern at [1m/invalid_props_log/regex/std [0m
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:4
[36m = [0m [36mnote [0m: the following captures are available:
[1mbody [0m, [1mpid [0m, [1mtimestamp [0m
[1m [31m✘ error [0m: “not a color” is not a valid color value for property “ [1m/invalid_props_log/highlights/hl1/color [0m”
[1m [31mreason [0m: Unknown color: 'not a color'. See https://jonasjacek.github.io/colors/ for a list of supported color names
2022-10-03 04:58:10 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:24
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: “also not a color” is not a valid color value for property “ [1m/invalid_props_log/highlights/hl1/background-color [0m”
[1m [31mreason [0m: Unknown color: 'also not a color'. See https://jonasjacek.github.io/colors/ for a list of supported color names
2022-10-03 04:58:10 +00:00
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-properties/format.json [0m:25
2022-09-12 14:18:26 +00:00
[1m [31m✘ error [0m: “ [1mno_regexes_log [0m” is not a valid log format
[1m [31mreason [0m: no regexes specified
[36m --> [0m [1m{test_dir}/bad-config/formats/no-regexes/format.json [0m:4
[1m [31m✘ error [0m: “ [1mno_regexes_log [0m” is not a valid log format
[1m [31mreason [0m: log message samples must be included in a format definition
[36m --> [0m [1m{test_dir}/bad-config/formats/no-regexes/format.json [0m:4
[1m [31m✘ error [0m: “ [1mno_sample_log [0m” is not a valid log format
[1m [31mreason [0m: log message samples must be included in a format definition
[36m --> [0m [1m{test_dir}/bad-config/formats/no-samples/format.json [0m:4
[1m [31m✘ error [0m: failed to compile SQL statement
[1m [31mreason [0m: near "TALE": syntax error
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sql/init.sql [0m:4
[36m | [0m [32m [40m-- comment test [0m
[36m | [0m [1m [36m [40mCREATE [0m [37m [40m [0m [37m [40mTALE [0m [37m [40m [0m [1m [37m [40minvalid [0m [1m [37m [40m [0m [37m [40m( [0m [37m [40mx [0m [37m [40m [0m [37m [40my [0m [37m [40m [0m [37m [40mz [0m [37m [40m); [0m
[36m | [0m [37m [40m [0m [36m [40m^ [0m [1m [31m [40mnear "TALE": syntax error [0m [37m [40m [0m
[1m [31m✘ error [0m: failed to execute SQL statement
[1m [31mreason [0m: [1m [31m✘ error [0m: “abc(” is not a valid regular expression
[1m [31m | [0m [1m [31mreason [0m: missing closing parenthesis
[1m [31m | [0m [36m --> [0m [1marg [0m
[1m [31m | [0m [36m | [0m [37m [40mabc [0m [1m [7m [32m [40m( [0m [37m [40m [0m
[1m [31m | [0m [36m | [0m [37m [40m [0m [1m [31m [40m^ [0m [1m [31m [40mmissing closing parenthesis [0m
[36m --> [0m [1m{test_dir}/bad-config/formats/invalid-sql/init2.sql [0m
[36m | [0m [1m [36m [40mSELECT [0m [37m [40m [0m [1m [37m [40mregexp_match [0m [1m [7m [31m [40m( [0m [35m [40m'abc(' [0m [37m [40m, [0m [35m [40m'123' [0m [37m [40m) [0m
[36m | [0m [1m [36m [40mFROM [0m [37m [40m [0m [37m [40msqlite_master [0m [37m [40m; [0m