feat: Add a settings option to log to console in json format (#25649)

Co-authored-by: Nerivec <62446222+Nerivec@users.noreply.github.com>
This commit is contained in:
Jens-Uwe Mager
2025-01-08 19:22:26 +00:00
committed by GitHub
co-authored by Nerivec
parent 6f3524b251
commit 26ef565c8a
6 changed files with 43 additions and 7 deletions
+1
View File
@@ -168,6 +168,7 @@ declare global {
device_options: KeyValue;
advanced: {
log_rotation: boolean;
log_console_json: boolean;
log_symlink_current: boolean;
log_output: ('console' | 'file' | 'syslog')[];
log_directory: string;
+9 -7
View File
@@ -56,13 +56,15 @@ class Logger {
this.logger.add(
new winston.transports.Console({
silent: consoleSilenced,
// winston.config.syslog.levels sets 'warning' as 'red'
format: winston.format.combine(
winston.format.colorize({colors: {debug: 'blue', info: 'green', warning: 'yellow', error: 'red'}}),
winston.format.printf((info) => {
return `[${info.timestamp}] ${info.level}: \t${info.message}`;
}),
),
format: settings.get().advanced.log_console_json
? winston.format.json()
: winston.format.combine(
// winston.config.syslog.levels sets 'warning' as 'red'
winston.format.colorize({colors: {debug: 'blue', info: 'green', warning: 'yellow', error: 'red'}}),
winston.format.printf((info) => {
return `[${info.timestamp}] ${info.level}: \t${info.message}`;
}),
),
}),
);
+7
View File
@@ -452,6 +452,13 @@
"description": "Log rotation",
"default": true
},
"log_console_json": {
"type": "boolean",
"title": "Console json log",
"requiresRestart": true,
"description": "Console json log",
"default": false
},
"log_symlink_current": {
"type": "boolean",
"title": "Log symlink current",
+1
View File
@@ -86,6 +86,7 @@ export const defaults: RecursivePartial<Settings> = {
device_options: {},
advanced: {
log_rotation: true,
log_console_json: false,
log_symlink_current: false,
log_output: ['console', 'file'],
log_directory: path.join(data.getPath(), 'log', '%TIMESTAMP%'),