Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 
      7 #ifndef __DEBUG_H__
      8 #define __DEBUG_H__
      9 
     10 #include <stdio.h>
     11 
     12 /* The log output macros print output to the console. These macros produce
     13  * compiled log output only if the LOG_LEVEL defined in the makefile (or the
     14  * make command line) is greater or equal than the level required for that
     15  * type of log output.
     16  * The format expected is the same as for printf(). For example:
     17  * INFO("Info %s.\n", "message")    -> INFO:    Info message.
     18  * WARN("Warning %s.\n", "message") -> WARNING: Warning message.
     19  */
     20 
     21 #define LOG_LEVEL_NONE			0
     22 #define LOG_LEVEL_ERROR			10
     23 #define LOG_LEVEL_NOTICE		20
     24 #define LOG_LEVEL_WARNING		30
     25 #define LOG_LEVEL_INFO			40
     26 #define LOG_LEVEL_VERBOSE		50
     27 
     28 
     29 #if LOG_LEVEL >= LOG_LEVEL_NOTICE
     30 # define NOTICE(...)	printf("NOTICE:  " __VA_ARGS__)
     31 #else
     32 # define NOTICE(...)
     33 #endif
     34 
     35 #if LOG_LEVEL >= LOG_LEVEL_ERROR
     36 # define ERROR(...)	printf("ERROR:   " __VA_ARGS__)
     37 #else
     38 # define ERROR(...)
     39 #endif
     40 
     41 #if LOG_LEVEL >= LOG_LEVEL_WARNING
     42 # define WARN(...)	printf("WARNING: " __VA_ARGS__)
     43 #else
     44 # define WARN(...)
     45 #endif
     46 
     47 #if LOG_LEVEL >= LOG_LEVEL_INFO
     48 # define INFO(...)	printf("INFO:    " __VA_ARGS__)
     49 #else
     50 # define INFO(...)
     51 #endif
     52 
     53 #if LOG_LEVEL >= LOG_LEVEL_VERBOSE
     54 # define VERBOSE(...)	printf("VERBOSE: " __VA_ARGS__)
     55 #else
     56 # define VERBOSE(...)
     57 #endif
     58 
     59 #endif /* __DEBUG_H__ */
     60