Logging in the command-line interface¶
When invoked without any specific option, any pglift
command will log
messages to the standard error in form of <LEVEL> <message>
lines. The
default threshold for displayed messages is INFO
so that messages with
this severity or higher are displayed but those with a lower severity (like
DEBUG
messages) are not. To control this threshold, the -L,
--log-level
should be used.
To log messages to a file, the -l, --log-file LOGFILE
should be used.
When an unexpected error occurs during the invocation of a pglift command (i.e. something that is not a user error but may be a bug), pglift will write all messages logged during this invocation to a temporary debug file and finally display its path in standard error:
$ pglift ...
ERROR an unexpected error occurred
Traceback (most recent call last):
...
OSError: ...
Error: an unexpected error occurred, this is probably a bug;
details can be found at /tmp/pglift/1714116611.5114818.log
This debug file is meant for troubleshooting and helping developers to fix bugs. It will not persist if the command exits in an expected way (which may be a success and a known/user error).
Auditing change operations through the command-line interface¶
The command-line interface may be configured to record log messages from change operations, i.e. all events occurring when changing (creating / updating / deleting) a resource managed by pglift (i.e. an instance, a database object, etc.). Read operations (such as listing objects, getting object details or exporting data) are not recorded in a so-called audit log.
This needs to be enabled through site settings by defining an audit
key in
the cli
section, e.g.:
cli:
audit:
path: '/var/log/pglift/audit.log'
Warning
This feature will also log command-line input, not just their output. This means, in particular, that any sentitive data (e.g. passwords) given to the command line will appear in the audit log file.
Note
This feature is provided on a provisional basis waiting for further users feedback before eventually getting stabilized.