When MudPi is executed it will display output to the terminal based on the set log level. The Logger included with MudPi logs data to both the terminal (stdout) and a file. You can specify different log levels for both output streams.
Typically this output is already sent to a file or discarded if you are using an process monitor like supervisor. However it can be useful to log data to a file with a different verbosity than what is output in the terminal. The logger has a few basic configurations. The log file will be stored relative to the root where MudPi is installed unless you provide an absolute path.
"logging": {
"file_log_level": "debug",
"terminal_log_level": "debug",
"file": "mudpi.log"
},
Option | Type | Required | Description |
file_log_level | [String] | No | Log level for file out logging. Options are debug , info , warn , critical , error . The log file is set using the file option. |
terminal_log_level | [String] | No | Log level for the terminal output. Options are debug , info , warn , critical , error . |
file | [String] | No | Full path including filename of the log file. If just a filename is provided then the file is stored in MudPi root location (typically /etc/mudpi/core). |
When logging all messages are written also to a log file (if set up in the configs) with a different format [%(asctime)s][%(name)s][%(levelname)s] %(message)s
while they are printed unedited to stdout.
The logging module allows you to select different logging levels for each handler (stdout or log file).
Here is an example of how the log output would be displayed between both stdout and a file.
Initializing Logger... Complete
[15:24:14][EVE][INFO] Initializing Logger... Complete
If debug
is set to true in the configuration, all logging levels are automatically set to "debug" regardless of the configuration.
Note: Be sure your log file has proper permissions if you experience errors.