A) macros to log on a predefine log level and with standard prefix for with additional info: [time] No dynamic FMT is accepted (due macro processing). LM_ALERT( fmt, ....) LM_CRIT( fmt, ....) LM_ERR( fmt, ...) LM_WARN( fmt, ...) LM_NOTICE( fmt, ...) LM_INFO( fmt, ...) LM_DBG( fmt, ...) B) macros for generic logging ; no additional information is added; Works with dynamic FMT. LM_GEN1( log_level, fmt, ....) LM_GEN2( log_facility, log_level, fmt, ...)