diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-07 04:48:35 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-07 04:48:35 +0000 |
commit | 207df6fc406e81bfeebdff7f404bd242ff3f099f (patch) | |
tree | a1a796b056909dd0a04ffec163db9363a8757808 /docs/schemas | |
parent | Releasing progress-linux version 0.11.2-1~progress7.99u1. (diff) | |
download | lnav-207df6fc406e81bfeebdff7f404bd242ff3f099f.tar.xz lnav-207df6fc406e81bfeebdff7f404bd242ff3f099f.zip |
Merging upstream version 0.12.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/schemas')
-rw-r--r-- | docs/schemas/config-v1.schema.json | 207 | ||||
-rw-r--r-- | docs/schemas/event-log-msg-detected-v1.schema.json | 2 | ||||
-rw-r--r-- | docs/schemas/format-v1.schema.json | 260 |
3 files changed, 435 insertions, 34 deletions
diff --git a/docs/schemas/config-v1.schema.json b/docs/schemas/config-v1.schema.json index e2285cc..9ca49b4 100644 --- a/docs/schemas/config-v1.schema.json +++ b/docs/schemas/config-v1.schema.json @@ -39,6 +39,35 @@ }, "additionalProperties": false }, + "piper": { + "description": "Settings related to capturing piped data", + "title": "/tuning/piper", + "type": "object", + "properties": { + "max-size": { + "title": "/tuning/piper/max-size", + "description": "The maximum size of a capture file", + "type": "integer", + "minimum": 128 + }, + "rotations": { + "title": "/tuning/piper/rotations", + "description": "The number of rotated files to keep", + "type": "integer", + "minimum": 2 + }, + "ttl": { + "title": "/tuning/piper/ttl", + "description": "The time-to-live for captured data, expressed as a duration (e.g. '3d' for three days)", + "type": "string", + "examples": [ + "3d", + "12h" + ] + } + }, + "additionalProperties": false + }, "file-vtab": { "description": "Settings related to the lnav_file virtual-table", "title": "/tuning/file-vtab", @@ -111,7 +140,7 @@ "title": "/tuning/remote/ssh/options", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "title": "/tuning/remote/ssh/options/<option_name>", "description": "Set an option to be passed to the SSH command", "type": "string" @@ -124,7 +153,7 @@ "title": "/tuning/remote/ssh/config", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "title": "/tuning/remote/ssh/config/<config_name>", "description": "Set an SSH configuration value", "type": "string" @@ -148,7 +177,7 @@ "title": "/tuning/clipboard/impls", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\-]+)$": { "description": "Clipboard implementation", "title": "/tuning/clipboard/impls/<clipboard_impl_name>", "type": "object", @@ -179,6 +208,28 @@ } }, "additionalProperties": false + }, + "url-scheme": { + "description": "Settings related to custom URL handling", + "title": "/tuning/url-scheme", + "type": "object", + "patternProperties": { + "^([a-z][\\w\\-\\+\\.]+)$": { + "description": "Definition of a custom URL scheme", + "title": "/tuning/url-scheme/<url_scheme>", + "type": "object", + "properties": { + "handler": { + "title": "/tuning/url-scheme/<url_scheme>/handler", + "description": "The name of the lnav script that can handle URLs with of this scheme. This should not include the '.lnav' suffix.", + "type": "string", + "pattern": "^[\\w\\-]+(?!\\.lnav)$" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false } }, "additionalProperties": false @@ -221,7 +272,7 @@ "title": "/ui/theme-defs", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\-]+)$": { "description": "Theme definitions", "title": "/ui/theme-defs/<theme_name>", "type": "object", @@ -231,7 +282,7 @@ "title": "/ui/theme-defs/<theme_name>/vars", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "title": "/ui/theme-defs/<theme_name>/vars/<var_name>", "description": "A theme variable definition", "type": "string" @@ -254,6 +305,11 @@ "title": "/ui/theme-defs/<theme_name>/styles/text", "$ref": "#/definitions/style" }, + "selected-text": { + "description": "Styling for text selected in a view", + "title": "/ui/theme-defs/<theme_name>/styles/selected-text", + "$ref": "#/definitions/style" + }, "alt-text": { "description": "Styling for plain text when alternating", "title": "/ui/theme-defs/<theme_name>/styles/alt-text", @@ -289,6 +345,11 @@ "title": "/ui/theme-defs/<theme_name>/styles/cursor-line", "$ref": "#/definitions/style" }, + "disabled-cursor-line": { + "description": "Styling for the cursor line when it is disabled", + "title": "/ui/theme-defs/<theme_name>/styles/disabled-cursor-line", + "$ref": "#/definitions/style" + }, "adjusted-time": { "description": "Styling for timestamps that have been adjusted", "title": "/ui/theme-defs/<theme_name>/styles/adjusted-time", @@ -299,8 +360,13 @@ "title": "/ui/theme-defs/<theme_name>/styles/skewed-time", "$ref": "#/definitions/style" }, + "file-offset": { + "description": "Styling for a file offset", + "title": "/ui/theme-defs/<theme_name>/styles/file-offset", + "$ref": "#/definitions/style" + }, "offset-time": { - "description": "Styling for hidden fields", + "description": "Styling for the elapsed time column", "title": "/ui/theme-defs/<theme_name>/styles/offset-time", "$ref": "#/definitions/style" }, @@ -413,6 +479,11 @@ "description": "Styling for snippet borders", "title": "/ui/theme-defs/<theme_name>/styles/snippet-border", "$ref": "#/definitions/style" + }, + "indent-guide": { + "description": "Styling for indent guide lines", + "title": "/ui/theme-defs/<theme_name>/styles/indent-guide", + "$ref": "#/definitions/style" } }, "additionalProperties": false @@ -422,6 +493,11 @@ "title": "/ui/theme-defs/<theme_name>/syntax-styles", "type": "object", "properties": { + "inline-code": { + "description": "Styling for inline code blocks", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/inline-code", + "$ref": "#/definitions/style" + }, "quoted-code": { "description": "Styling for quoted code blocks", "title": "/ui/theme-defs/<theme_name>/syntax-styles/quoted-code", @@ -462,11 +538,41 @@ "title": "/ui/theme-defs/<theme_name>/syntax-styles/symbol", "$ref": "#/definitions/style" }, + "null": { + "description": "Styling for nulls in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/null", + "$ref": "#/definitions/style" + }, + "ascii-control": { + "description": "Styling for ASCII control characters in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/ascii-control", + "$ref": "#/definitions/style" + }, + "non-ascii": { + "description": "Styling for non-ASCII characters in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/non-ascii", + "$ref": "#/definitions/style" + }, "number": { "description": "Styling for numbers in source files", "title": "/ui/theme-defs/<theme_name>/syntax-styles/number", "$ref": "#/definitions/style" }, + "type": { + "description": "Styling for types in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/type", + "$ref": "#/definitions/style" + }, + "function": { + "description": "Styling for functions in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/function", + "$ref": "#/definitions/style" + }, + "separators-references-accessors": { + "description": "Styling for sigils in source files", + "title": "/ui/theme-defs/<theme_name>/syntax-styles/separators-references-accessors", + "$ref": "#/definitions/style" + }, "re-special": { "description": "Styling for special characters in regular expressions", "title": "/ui/theme-defs/<theme_name>/syntax-styles/re-special", @@ -579,6 +685,11 @@ "description": "Styling for hotkey highlights of status bars", "title": "/ui/theme-defs/<theme_name>/status-styles/hotkey", "$ref": "#/definitions/style" + }, + "suggestion": { + "description": "Styling for suggested values", + "title": "/ui/theme-defs/<theme_name>/status-styles/suggestion", + "$ref": "#/definitions/style" } }, "additionalProperties": false @@ -588,7 +699,7 @@ "title": "/ui/theme-defs/<theme_name>/log-level-styles", "type": "object", "patternProperties": { - "(trace|debug5|debug4|debug3|debug2|debug|info|stats|notice|warning|error|critical|fatal|invalid)": { + "^(trace|debug5|debug4|debug3|debug2|debug|info|stats|notice|warning|error|critical|fatal|invalid)$": { "title": "/ui/theme-defs/<theme_name>/log-level-styles/<level>", "$ref": "#/definitions/style" } @@ -600,7 +711,7 @@ "title": "/ui/theme-defs/<theme_name>/highlights", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\-]+)$": { "title": "/ui/theme-defs/<theme_name>/highlights/<highlight_name>", "type": "object", "properties": { @@ -626,6 +737,27 @@ }, "additionalProperties": false }, + "mouse": { + "description": "Mouse-related settings", + "title": "/ui/mouse", + "type": "object", + "properties": { + "mode": { + "title": "/ui/mouse/mode", + "description": "Overall control for mouse support", + "type": "string", + "enum": [ + "disabled", + "enabled" + ], + "examples": [ + "enabled", + "disabled" + ] + } + }, + "additionalProperties": false + }, "movement": { "description": "Log file cursor movement mode settings", "title": "/ui/movement", @@ -652,21 +784,26 @@ "title": "/ui/keymap-defs", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\-]+)$": { "description": "The keymap definitions", "title": "/ui/keymap-defs/<keymap_name>", "type": "object", "patternProperties": { - "((?:x[0-9a-f]{2})+)": { + "^((?:x[0-9a-f]{2})+)$": { "description": "Map of key codes to commands to execute. The field names are the keys to be mapped using as a hexadecimal representation of the UTF-8 encoding. Each byte of the UTF-8 should start with an 'x' followed by the hexadecimal representation of the byte.", "title": "/ui/keymap-defs/<keymap_name>/<key_seq>", "type": "object", "properties": { + "id": { + "title": "/ui/keymap-defs/<keymap_name>/<key_seq>/id", + "description": "The identifier that can be used to refer to this key", + "type": "string" + }, "command": { "title": "/ui/keymap-defs/<keymap_name>/<key_seq>/command", "description": "The command to execute for the given key sequence. Use a script to execute more complicated operations.", "type": "string", - "pattern": "^[:|;].*", + "pattern": "^$|^[:|;].*", "examples": [ ":goto next hour" ] @@ -693,12 +830,25 @@ "title": "/log", "type": "object", "properties": { + "date-time": { + "description": "Settings related to log message dates and times", + "title": "/log/date-time", + "type": "object", + "properties": { + "convert-zoned-to-local": { + "title": "/log/date-time/convert-zoned-to-local", + "description": "Convert timestamps with ", + "type": "boolean" + } + }, + "additionalProperties": false + }, "watch-expressions": { "description": "Log message watch expressions", "title": "/log/watch-expressions", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\.\\-]+)$": { "description": "A log message watch expression", "title": "/log/watch-expressions/<watch_name>", "type": "object", @@ -718,6 +868,37 @@ } }, "additionalProperties": false + }, + "annotations": { + "title": "/log/annotations", + "type": "object", + "patternProperties": { + "^([\\w\\.\\-]+)$": { + "title": "/log/annotations/<annotation_name>", + "type": "object", + "properties": { + "description": { + "title": "/log/annotations/<annotation_name>/description", + "description": "A description of this annotation", + "type": "string" + }, + "condition": { + "title": "/log/annotations/<annotation_name>/condition", + "description": "The SQLite expression to execute for a log message that determines whether or not this annotation is applicable. The expression is evaluated the same way as a filter expression", + "type": "string", + "minLength": 1 + }, + "handler": { + "title": "/log/annotations/<annotation_name>/handler", + "description": "The script to execute to generate the annotation content. A JSON object with the log message content will be sent to the script on the standard input", + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false } }, "additionalProperties": false @@ -727,7 +908,7 @@ "title": "/global", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "title": "/global/<var_name>", "description": "A global variable definition. Global variables can be referenced in scripts, SQL statements, or commands.", "type": "string" diff --git a/docs/schemas/event-log-msg-detected-v1.schema.json b/docs/schemas/event-log-msg-detected-v1.schema.json index 30ec3a2..a82b01f 100644 --- a/docs/schemas/event-log-msg-detected-v1.schema.json +++ b/docs/schemas/event-log-msg-detected-v1.schema.json @@ -41,7 +41,7 @@ "title": "/values", "type": "object", "patternProperties": { - "([\\w\\-]+)": { + "^([\\w\\-]+)$": { "title": "/values/<name>", "type": [ "boolean", diff --git a/docs/schemas/format-v1.schema.json b/docs/schemas/format-v1.schema.json index fe781f9..d96a285 100644 --- a/docs/schemas/format-v1.schema.json +++ b/docs/schemas/format-v1.schema.json @@ -10,7 +10,7 @@ } }, "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "description": "The definition of a log file format.", "title": "/<format_name>", "type": "object", @@ -20,7 +20,7 @@ "title": "/<format_name>/regex", "type": "object", "patternProperties": { - "([^/]+)": { + "^(.+)$": { "description": "The set of patterns used to match log messages", "title": "/<format_name>/regex/<pattern_name>", "type": "object", @@ -75,16 +75,50 @@ "description": "A regular expression that restricts this format to log files with a matching name", "type": "string" }, - "mime-types": { - "title": "/<format_name>/mime-types", - "description": "A list of mime-types this format should be used for", - "type": "array", - "items": { - "type": "string", - "enum": [ - "application/vnd.tcpdump.pcap" - ] - } + "converter": { + "description": "Describes how the file format can be detected and converted to a log that can be understood by lnav", + "title": "/<format_name>/converter", + "type": "object", + "properties": { + "type": { + "title": "/<format_name>/converter/type", + "description": "The MIME type", + "type": "string" + }, + "header": { + "description": "File header detection definitions", + "title": "/<format_name>/converter/header", + "type": "object", + "properties": { + "expr": { + "description": "The expressions used to check if a file header matches this file format", + "title": "/<format_name>/converter/header/expr", + "type": "object", + "patternProperties": { + "^(\\w+)$": { + "title": "/<format_name>/converter/header/expr/<header_expr_name>", + "description": "SQLite expression", + "type": "string" + } + }, + "additionalProperties": false + }, + "size": { + "title": "/<format_name>/converter/header/size", + "description": "The minimum size required for this header type", + "type": "integer" + } + }, + "additionalProperties": false + }, + "command": { + "title": "/<format_name>/converter/command", + "description": "The script used to convert the file", + "type": "string", + "pattern": "[\\w\\.\\-]+" + } + }, + "additionalProperties": false }, "level-field": { "title": "/<format_name>/level-field", @@ -165,6 +199,123 @@ "description": "The name of the operation-id field in the log message pattern", "type": "string" }, + "opid": { + "description": "Definitions related to operations found in logs", + "title": "/<format_name>/opid", + "type": "object", + "properties": { + "subid": { + "title": "/<format_name>/opid/subid", + "description": "The field that holds the ID for a sub-operation", + "type": "string" + }, + "description": { + "description": "Define how to construct a description of an operation", + "title": "/<format_name>/opid/description", + "type": "object", + "patternProperties": { + "^([\\w\\.\\-]+)$": { + "description": "A type of description for this operation", + "title": "/<format_name>/opid/description/<opid_descriptor>", + "type": "object", + "properties": { + "format": { + "description": "Defines the elements of this operation description", + "title": "/<format_name>/opid/description/<opid_descriptor>/format", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "title": "/<format_name>/opid/description/<opid_descriptor>/format/field", + "description": "The field to include in the operation description", + "type": "string" + }, + "extractor": { + "title": "/<format_name>/opid/description/<opid_descriptor>/format/extractor", + "description": "The regex used to extract content for the operation description", + "type": "string" + }, + "prefix": { + "title": "/<format_name>/opid/description/<opid_descriptor>/format/prefix", + "description": "A string to prepend to this field in the description", + "type": "string" + }, + "suffix": { + "title": "/<format_name>/opid/description/<opid_descriptor>/format/suffix", + "description": "A string to append to this field in the description", + "type": "string" + }, + "joiner": { + "title": "/<format_name>/opid/description/<opid_descriptor>/format/joiner", + "description": "A string to insert between instances of this field when the field is found more than once", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "sub-description": { + "description": "Define how to construct a description of a sub-operation", + "title": "/<format_name>/opid/sub-description", + "type": "object", + "patternProperties": { + "^([\\w\\.\\-]+)$": { + "description": "A type of description for this sub-operation", + "title": "/<format_name>/opid/sub-description/<subid_descriptor>", + "type": "object", + "properties": { + "format": { + "description": "Defines the elements of this operation description", + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format/field", + "description": "The field to include in the operation description", + "type": "string" + }, + "extractor": { + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format/extractor", + "description": "The regex used to extract content for the operation description", + "type": "string" + }, + "prefix": { + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format/prefix", + "description": "A string to prepend to this field in the description", + "type": "string" + }, + "suffix": { + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format/suffix", + "description": "A string to append to this field in the description", + "type": "string" + }, + "joiner": { + "title": "/<format_name>/opid/sub-description/<subid_descriptor>/format/joiner", + "description": "A string to insert between instances of this field when the field is found more than once", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, "ordered-by-time": { "title": "/<format_name>/ordered-by-time", "description": "Indicates that the order of messages in the file is time-based.", @@ -175,7 +326,7 @@ "title": "/<format_name>/level", "type": "object", "patternProperties": { - "(trace|debug[2345]?|info|stats|notice|warning|error|critical|fatal)": { + "^(trace|debug[2345]?|info|stats|notice|warning|error|critical|fatal)$": { "title": "/<format_name>/level/<level>", "description": "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.", "type": [ @@ -191,7 +342,7 @@ "title": "/<format_name>/value", "type": "object", "patternProperties": { - "([^/]+)": { + "^(.+)$": { "description": "The set of values captured by the log message patterns", "title": "/<format_name>/value/<value_name>", "type": "object", @@ -231,7 +382,7 @@ "title": "/<format_name>/value/<value_name>/unit/scaling-factor", "type": "object", "patternProperties": { - "([^/]+)": { + "^(.+)$": { "title": "/<format_name>/value/<value_name>/unit/scaling-factor/<scale>", "type": "object", "properties": { @@ -304,7 +455,7 @@ "title": "/<format_name>/tags", "type": "object", "patternProperties": { - "([\\w:;\\._\\-]+)": { + "^([\\w:;\\._\\-]+)$": { "description": "The name of the tag to apply", "title": "/<format_name>/tags/<tag_name>", "type": "object", @@ -367,11 +518,79 @@ }, "additionalProperties": false }, + "partitions": { + "description": "The partitions to automatically apply to log messages", + "title": "/<format_name>/partitions", + "type": "object", + "patternProperties": { + "^([\\w:;\\._\\-]+)$": { + "description": "The type of partition to apply", + "title": "/<format_name>/partitions/<partition_type>", + "type": "object", + "properties": { + "paths": { + "description": "Restrict partitioning to the given paths", + "title": "/<format_name>/partitions/<partition_type>/paths", + "type": "array", + "items": { + "type": "object", + "properties": { + "glob": { + "title": "/<format_name>/partitions/<partition_type>/paths/glob", + "description": "The glob to match against file paths", + "type": "string", + "examples": [ + "*/system.log*" + ] + } + }, + "additionalProperties": false + } + }, + "pattern": { + "title": "/<format_name>/partitions/<partition_type>/pattern", + "description": "The regular expression to match against the body of the log message", + "type": "string", + "examples": [ + "\\w+ is down" + ] + }, + "description": { + "title": "/<format_name>/partitions/<partition_type>/description", + "description": "A description of this partition", + "type": "string" + }, + "level": { + "title": "/<format_name>/partitions/<partition_type>/level", + "description": "Constrain hits to log messages with this level", + "type": "string", + "enum": [ + "trace", + "debug5", + "debug4", + "debug3", + "debug2", + "debug", + "info", + "stats", + "notice", + "warning", + "error", + "critical", + "fatal" + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, "action": { "title": "/<format_name>/action", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "title": "/<format_name>/action/<action_name>", "type": [ "string", @@ -499,7 +718,8 @@ "enum": [ "abbrev", "truncate", - "dot-dot" + "dot-dot", + "last-word" ] }, "text-transform": { @@ -532,7 +752,7 @@ "title": "/<format_name>/search-table", "type": "object", "patternProperties": { - "(\\w+)": { + "^(\\w+)$": { "description": "The set of search tables to be automatically defined", "title": "/<format_name>/search-table/<table_name>", "type": "object", @@ -578,7 +798,7 @@ "title": "/<format_name>/highlights", "type": "object", "patternProperties": { - "([^/]+)": { + "^(.+)$": { "description": "The definition of a highlight", "title": "/<format_name>/highlights/<highlight_name>", "type": "object", |