iobroker.logparser
Version:
Parsing (filtering) the ioBroker log
741 lines (736 loc) • 17 kB
JSON
{
"i18n": true,
"type": "tabs",
"tabsStyle": {
"width": "calc(100% - 100px)"
},
"items": {
"_start": {
"type": "panel",
"label": "Start",
"items": {
"headerStart": {
"type": "header",
"text": "Welcome to Log-Parser adapter",
"size": 2
},
"_textStart": {
"type": "staticText",
"text": "A detailed documentation with explanations and all further information can be found on our GitHub page:",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"_germanDocuLink": {
"type": "staticLink",
"label": "🇩🇪 Deutsche Dokumentation",
"text": "🇩🇪 Deutsche Dokumentation",
"button": true,
"href": "https://github.com/iobroker-community-adapters/ioBroker.logparser/blob/master/docs/de/logparser.md",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 2,
"xl": 2,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"_englishDocuLink": {
"type": "staticLink",
"label": "🇬🇧 English Documentation",
"text": "🇬🇧 English Documentation",
"button": true,
"href": "https://github.com/iobroker-community-adapters/ioBroker.logparser/blob/master/docs/en/logparser.md",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 2,
"xl": 2,
"style": {
"fontSize": 16,
"marginTop": 0
}
}
}
},
"_parserRules": {
"type": "panel",
"label": "Parser-Rules (filter)",
"items": {
"headerParserRules": {
"type": "header",
"text": "Parser-Rules (filter)",
"size": 2
},
"parserRules": {
"type": "table",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"items": [
{
"type": "checkbox",
"title": "",
"attr": "active",
"width": "5%"
},
{
"type": "text",
"title": "Name",
"attr": "name",
"width": "15%"
},
{
"type": "text",
"title": "Whitelist AND",
"attr": "whitelistAnd",
"width": "10%"
},
{
"type": "text",
"title": "Whitelist OR",
"attr": "whitelistOr",
"width": "10%"
},
{
"type": "text",
"title": "Blacklist",
"attr": "blacklist",
"width": "10%"
},
{
"type": "checkbox",
"title": "Debug",
"attr": "debug",
"width": "5%"
},
{
"type": "checkbox",
"title": "Info",
"attr": "info",
"width": "5%"
},
{
"type": "checkbox",
"title": "Warn",
"attr": "warn",
"width": "5%"
},
{
"type": "checkbox",
"title": "Error",
"attr": "error",
"width": "5%"
},
{
"type": "number",
"title": "Max",
"attr": "maxLength",
"min": 0,
"width": "10%"
},
{
"type": "text",
"title": "Clean",
"attr": "clean",
"width": "10%"
},
{
"type": "checkbox",
"title": "Merge",
"attr": "merge",
"width": "5%"
},
{
"type": "number",
"title": "Empty after days",
"attr": "scheduleDays",
"min": 0,
"width": "5%"
}
]
}
}
},
"_otherSettings": {
"type": "panel",
"label": "Other settings",
"items": {
"_headerRemovePid": {
"type": "header",
"text": "Remove PID:",
"size": 2
},
"_textRemovePid": {
"type": "staticText",
"text": "The js controller partly adds the PID in brackets to the front of logs, e.g. '(12345) Terminated: Without reason'. Enabling this option removes the PIDs including brackets, e.g. '(12345)', from the log lines.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"removePid": {
"newLine": true,
"type": "checkbox",
"label": "Remove PID",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerRemoveCompact": {
"type": "header",
"text": "Remove (COMPACT):",
"size": 2
},
"_textRemoveCompact": {
"type": "staticText",
"text": "If a adapter running in compact mode, it will add the word compact in brackets to the front of logs, e.g. '(COMPACT) handleConnectionInfo'. Enabling this option removes '(COMPACT)' from the log lines.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"removeCompact": {
"newLine": true,
"type": "checkbox",
"label": "Remove (COMPACT)",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerRemoveScriptName": {
"type": "header",
"text": "Remove script.js.Script_Name:",
"size": 2
},
"_textRemoveScriptName": {
"type": "staticText",
"text": "Logs generated by the JavaScript adapter start with 'script.js.Script_Name:'. If this option is enabled, they are automatically removed.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"removeOnlyScriptJs": {
"newLine": true,
"type": "checkbox",
"label": "Remove only script.js",
"disabled": "data.removeScriptJs === true",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"removeScriptJs": {
"type": "checkbox",
"label": "Remove script.js.Script_Name",
"disabled": "data.removeOnlyScriptJs === true",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerDateFormat": {
"type": "header",
"text": "Date format:",
"size": 2
},
"_textDateFormat": {
"type": "staticText",
"text": "Choose the format of the date in the tables (e.g. #DD.MM.# hh:mm)",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"dateFormat": {
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4,
"type": "text",
"label": "Date format"
},
"_headerReplaceDate": {
"type": "header",
"text": "Replace date with 'Today' / 'Yesterday':",
"size": 2
},
"textReplaceDate": {
"type": "checkbox",
"label": "In the filters, today's or yesterday's date can be replaced by 'Today' or 'Yesterday' in the date format for using hash character (#). Other terms can be defined here instead of 'Today'/'Yesterday'.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"txtYesterday": {
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4,
"type": "text",
"label": "Output for 'Yesterday'"
},
"txtToday": {
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"type": "text",
"label": "Output for 'Today'"
},
"_headerMerge": {
"type": "header",
"text": "Text for 'Merge' (combine logs):",
"size": 2
},
"_textMerge": {
"type": "staticText",
"text": "This text is prepended to each log line when merge is enabled. The # character is then replaced by the number of logs with the same content. Special characters like [](){} are allowed.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"_textMergeTwo": {
"type": "staticText",
"text": "Examples (without quotes): '[# entries]', '(#) ', '# entries: '",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"txtMerge": {
"newLine": true,
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"type": "text",
"label": "Prefixed text (# is replaced by number)"
}
}
},
"_visualization": {
"type": "panel",
"label": "Visualization",
"items": {
"_headervisTables": {
"type": "header",
"text": "Number of JSON tables used in VIS",
"size": 2
},
"_textVisTables": {
"type": "staticText",
"text": "This can be used to create additional data points for output as a JSON table in VIS, with which it is possible to switch between the individual filters in a VIS table (e.g. 'Homematic', 'Warnings', 'Errors' etc.), which are then dynamically output in this one table in each case.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"_textVisTablesTwo": {
"type": "staticText",
"text": "Specify here the number of different JSON tables in which you need this. These will be created under 'visualization.table1', 'visualization.table2', etc. To disable: enter 0 (then these additional data points will not be created).",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"visTables": {
"newLine": true,
"type": "number",
"label": "How many different JSON tables do you need?",
"help": "Number (0 = deactivated)",
"min": 0,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerColumnOrder": {
"type": "header",
"text": "Column order for JSON table",
"size": 2
},
"_textColumnOrder": {
"type": "staticText",
"text": "Here you can change the order of the columns. As additional column ts (timestamp) is always added. In VIS etc. simply hide it if necessary.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"jsonColumns": {
"newLine": true,
"type": "select",
"label": "Columns for JSON table",
"options": [
{
"label": "date, severity, from, message",
"value": "date,severity,from,message"
},
{
"label": "date, from, severity, message",
"value": "date,from,severity,message"
},
{
"label": "date, from, message, severity",
"value": "date,from,message,severity"
},
{
"label": "date, message, from, severity",
"value": "date,message,from,severity"
},
{
"label": "date, message, severity, from",
"value": "date,message,severity,from"
},
{
"label": "date, severity, message, from",
"value": "date,severity,message,from"
},
{
"label": "from, date, message, severity",
"value": "from,date,message,severity"
},
{
"label": "from, date, severity, message",
"value": "from,date,severity,message"
},
{
"label": "from, message, date, severity",
"value": "from,message,date,severity"
},
{
"label": "from, message, severity, date",
"value": "from,message,severity,date"
},
{
"label": "from, severity, date, message",
"value": "from,severity,date,message"
},
{
"label": "from, severity, message, date",
"value": "from,severity,message,date"
},
{
"label": "message, date, from, severity",
"value": "message,date,from,severity"
},
{
"label": "message, date, severity, from",
"value": "message,date,severity,from"
},
{
"label": "message, from, date, severity",
"value": "message,from,date,severity"
},
{
"label": "message, from, severity, date",
"value": "message,from,severity,date"
},
{
"label": "message, severity, date, from",
"value": "message,severity,date,from"
},
{
"label": "message, severity, from, date",
"value": "message,severity,from,date"
},
{
"label": "severity, date, from, message",
"value": "severity,date,from,message"
},
{
"label": "severity, date, message, from",
"value": "severity,date,message,from"
},
{
"label": "severity, from, date, message",
"value": "severity,from,date,message"
},
{
"label": "severity, from, message, date",
"value": "severity,from,message,date"
},
{
"label": "severity, message, date, from",
"value": "severity,message,date,from"
},
{
"label": "severity, message, from, date",
"value": "severity,message,from,date"
}
],
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerAddCss": {
"type": "header",
"text": "Add CSS in JSON",
"size": 2
},
"_textAddCss": {
"type": "staticText",
"text": "With this you can add additional CSS in the JSON.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"cssDate": {
"newLine": true,
"type": "checkbox",
"label": "Date",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 3,
"xl": 3
},
"cssSeverity": {
"type": "checkbox",
"label": "Severity",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 3,
"xl": 3
},
"cssFrom": {
"type": "checkbox",
"label": "From",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 3,
"xl": 3
},
"cssMessage": {
"type": "checkbox",
"label": "Message",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 3,
"xl": 3
},
"_headerSortDescending": {
"type": "header",
"text": "Sort descending",
"size": 2
},
"_textSortDescending": {
"type": "staticText",
"text": "If enabled: sorts the log entries in descending order, i.e. newest on top. If disabled: sorts the log entries ascending, so oldest on top.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"sortDescending": {
"newLine": true,
"type": "checkbox",
"label": "Sort descending (newest on top)",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
}
}
},
"_globalBlacklist": {
"type": "panel",
"label": "Global blacklist",
"items": {
"headerGlobalBlacklist": {
"type": "header",
"text": "Global Blacklist",
"size": 2
},
"globalBlacklist": {
"type": "table",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"items": [
{
"type": "checkbox",
"title": "",
"attr": "active",
"width": "5%"
},
{
"type": "text",
"title": "Blacklist expressions",
"attr": "item",
"width": "40%"
},
{
"type": "text",
"title": "Comment",
"attr": "comment",
"width": "40%"
}
]
}
}
},
"_expertSettings": {
"type": "panel",
"label": "Expert settings",
"items": {
"_headerUpdateIntervall": {
"type": "header",
"text": "Update interval: Update data points",
"size": 2
},
"_textRemovePid": {
"type": "staticText",
"text": "Here you can define the update interval of the data points. For performance reasons, it is not recommended to select a poll value that is too low. Less than two seconds cannot be selected.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"updateInterval": {
"newLine": true,
"type": "number",
"label": "Update Interval",
"help": "in seconds",
"min": 2,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"_headerMaxLogs": {
"type": "header",
"text": "Maximum number of log entries",
"size": 2
},
"_textMaxLogs": {
"type": "staticText",
"text": "The maximum number of log entries that will be kept in the datapoints (older ones will be removed). Please do not set too high a number, the larger, the more load for the adapter and thus your ioBroker server. A number of 100 has worked well.",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12,
"style": {
"fontSize": 16,
"marginTop": 0
}
},
"maxLogs": {
"newLine": true,
"type": "number",
"label": "Maximum number of log entries",
"help": "Quantity",
"min": 1,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
}
}
}
}
}