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