We use uLUt library for logging.
printf() should never be used for printing some information - error message, debug data etc. Instead ul_logXXX(), which is declared in ul_log.h, should be used.
Howto
In every file, where you want to log something you must initialize ul_log.h library by using UL_LOG_CUST macro and defining the name of the log domain:
Then, you can use one of the functions (macros) bellow. Each macro logs a message with different severity. The severity should be chosen according to the following rules:
- ul_logfatal() - fatal error which causes the program to terminate. These error should only be reported at program startup, not while the program is running for a while.
- ul_logerr() - error i.e. something that should not happen during normal operation. The application should be able to continue, possibly with its functionality limited.
- ul_logmsg() - important information that should always be seen by the operator. These messages with this log level are printed by default.
- ul_loginf() - not so important information, which is normally suppressed and is displayed only on request.
- ul_logdeb() - debuging information. This information is only useful to someone who knows the details of the source code.
- ul_logtrash() - lowlevel debugging information.