| # Compile time log levels |
| |
| At compile time the maximum log level can be specified. This allows distros to |
| disable the overhead code and reduce overall code size. |
| |
| # Runtime log level |
| |
| 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` |
| |
| # Implementation |
| |
| 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" |
| ``` |