xref: /aosp_15_r20/external/tpm2-tss/doc/logging.md (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1*758e9fbaSOystein Eftevaag# Compile time log levels
2*758e9fbaSOystein Eftevaag
3*758e9fbaSOystein EftevaagAt compile time the maximum log level can be specified. This allows distros to
4*758e9fbaSOystein Eftevaagdisable the overhead code and reduce overall code size.
5*758e9fbaSOystein Eftevaag
6*758e9fbaSOystein Eftevaag# Runtime log level
7*758e9fbaSOystein Eftevaag
8*758e9fbaSOystein EftevaagAt runtime, the log level is determined by an environment variable. The default
9*758e9fbaSOystein Eftevaaglog level is WARNING. The level can be changed by setting the TSS2_LOG
10*758e9fbaSOystein Eftevaagenvironment variable.
11*758e9fbaSOystein Eftevaag
12*758e9fbaSOystein EftevaagPossible levels are: NONE, ERROR, WARNING, INFO, DEBUG, TRACE
13*758e9fbaSOystein Eftevaag
14*758e9fbaSOystein EftevaagThe level can be set for all module using the `all` module name or individually
15*758e9fbaSOystein Eftevaagper module. The environment variable is evaluated left to right.
16*758e9fbaSOystein Eftevaag
17*758e9fbaSOystein EftevaagExample: `TSS2_LOG=all+ERROR,marshal+TRACE,tcti+DEBUG`
18*758e9fbaSOystein Eftevaag
19*758e9fbaSOystein Eftevaag# Implementation
20*758e9fbaSOystein Eftevaag
21*758e9fbaSOystein EftevaagEach source code file specifies its corresponding module before including log.h.
22*758e9fbaSOystein Eftevaag```
23*758e9fbaSOystein Eftevaag#define LOGMODULE tcti
24*758e9fbaSOystein Eftevaag#include "log.h"
25*758e9fbaSOystein Eftevaag```
26*758e9fbaSOystein EftevaagOptionally, the default log-level for this module can be set:
27*758e9fbaSOystein Eftevaag```
28*758e9fbaSOystein Eftevaag#define LOGMODULE tcti
29*758e9fbaSOystein Eftevaag#define LOGDEFAULT ERROR
30*758e9fbaSOystein Eftevaag#include "log.h"
31*758e9fbaSOystein Eftevaag```
32