At compile time the maximum log level can be specified. This allows distros to disable the overhead code and reduce overall code size.
At runtime, the log level is determined by an environment variable. The default
log level is WARNING. The level can be changed by setting the TSS2_LOG
environment variable.
Possible levels are: NONE, ERROR, WARNING, INFO, DEBUG, TRACE
The level can be set for all module using the all
module name or individually
per module. The environment variable is evaluated left to right.
Example: TSS2_LOG=all+ERROR,marshal+TRACE,tcti+DEBUG
By default, logs are written to standard error (stderr
). If the environment
variable TSS2_LOGFILE
is set, the TSS will log to the file at the given path
instead. If the file does not yet exist, it will be created. Otherwise, the TSS
will append to it.
The special value stderr
will result in default behavior while stdout
and
-
will have the TSS write to standard output.
Each source code file specifies its corresponding module before including log.h.
#define LOGMODULE tcti
#include "log.h"
Optionally, the default log-level for this module can be set:
#define LOGMODULE tcti
#define LOGDEFAULT ERROR
#include "log.h"