- * Error log message.
- * Use this macro to print error messages. This log level have hight priority,
- * that means the error messages are always printed, if debug is enable.
- */
-#define LOG_ERROR(str,...) DBG_ERROR(LOG_LEVEL, LOG_VERBOSE, str, ## __VA_ARGS__)
+* Multi level logging system.
+*
+* You can use these macro directy or using the cfg/log.h module
+* that provide a simple interface for using the logging multilevel system.
+* The priority level is order form error messages (hight priority) to info messages
+* (low priority), so if you choose a low level log message you can see also all message
+* that have a hight priority.
+*
+* \{
+*/
+/// Logging level definition
+#define LOG_LVL_ERR 0
+#define LOG_LVL_WARN 1
+#define LOG_LVL_INFO 2
+
+/// Logging verbose mode
+#define LOG_VERBOSE 1
+#define LOG_SILENT 0
+
+
+#if LOG_VERBOSITY == LOG_VERBOSE
+ #define LOG_PRINT(str_level, str,...) kprintf("%s(%s():%d): "str, str_level, __func__, __LINE__, ## __VA_ARGS__)
+
+#elif LOG_VERBOSITY == LOG_SILENT
+ #define LOG_PRINT(str_level, str,...) kprintf("%s: "str, str_level, ## __VA_ARGS__)
+
+#else
+ #error No log verbosity defined
+
+#endif