-
Notifications
You must be signed in to change notification settings - Fork 428
Logging
Yossi Itigin edited this page Jul 7, 2021
·
5 revisions
UCS has logging infrastructure. logging is controlled by a single level.
NOTE
By default, a release build limits the log level to 'debug' for better performance.
In order to enable all log levels, use./contrib/configure-devel
(instead of./contrib/configure-release
) to build UCX.
- fatal - stops the program
- error - an error which does not stop the program and can be reported back to user.
- warn - a warning which does not return error to the user.
- info
- debug - debugging messages, low volume, about initialization/cleanup.
- trace - debugging messages, high volume, during runtime, for “special” events.
- req - details of every send/receive request and tag matching.
- data - headers of every packet being sent/received.
- async - async notifications and progress thread.
- func - function calls and arguments.
- poll - same as func, but also for functions which do busy-polling.
Rules:
-
UCX_LOG_LEVEL
controls the logging level. - When log level is selected, it enables all messages with this level or higher.
- Logging messages can be sent to stdout (default) or to a file by setting
UCX_LOG_FILE
Features:
- It's possible to define maximal log level during compile time, to avoid checks in release mode.
- It's possible to install custom log message handler.