diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 1c853c3..8fd6bc9 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -4,8 +4,9 @@ LibLog V 1.1.0 - A. GIBERT - 24/05/xx - All: - Working on new API... + - Warning: API break! - LibLog: - - Add a 13th args to LG_LOG_* macros. + - Remove fixed args number: use now Variadic Macros! diff --git a/demo/lgdemo.c b/demo/lgdemo.c index da78cec..c6b9dd8 100644 --- a/demo/lgdemo.c +++ b/demo/lgdemo.c @@ -57,11 +57,11 @@ void demo_function( void); /*----------------------------------------------------------------------------*/ void Demo_Function( char *Name_Ptr) { - LG_LOG_TRACE_1( LGD_LOG_LEVEL_DEFAULT, "Starting [%s]...", Name_Ptr); + LG_LOG_TRACE( LGD_LOG_LEVEL_DEFAULT, "Starting [%s]...", Name_Ptr); LG_STACK_TRACE( LGD_LOG_LEVEL_DEFAULT); - LG_LOG_TRACE_1( LGD_LOG_LEVEL_DEFAULT, "Completed [%s]!", Name_Ptr); + LG_LOG_TRACE( LGD_LOG_LEVEL_DEFAULT, "Completed [%s]!", Name_Ptr); } @@ -84,10 +84,10 @@ int main( int argc, char **argv) } else { - LG_LOG_TRACE_1( LGD_LOG_LEVEL_DEFAULT, "This is an trace message #: (%d)", 1); - LG_LOG_INFO_1( "This is an info message #: (%d)", 2); - LG_LOG_WARNING_1( "This is an warning message #: (%d)", 3); - LG_LOG_ERROR_1( "This is an error message #: (%d)", 4); + LG_LOG_TRACE( LGD_LOG_LEVEL_DEFAULT, "This is an trace message #: (%d)", 1); + LG_LOG_INFO( "This is an info message #: (%d)", 2); + LG_LOG_WARNING( "This is an warning message #: (%d)", 3); + LG_LOG_ERROR( "This is an error message #: (%d)", 4); Demo_Function( "Demo_Function"); diff --git a/include/log.h b/include/log.h index 0e85a70..1048513 100644 --- a/include/log.h +++ b/include/log.h @@ -105,86 +105,21 @@ typedef short LGT_Log_Level; #ifdef _LOG_TRACE -#define LG_LOG_TRACE_0( Level, Fmt) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt)) -#define LG_LOG_TRACE_1( Level, Fmt, Arg1) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1)) -#define LG_LOG_TRACE_2( Level, Fmt, Arg1, Arg2) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2)) -#define LG_LOG_TRACE_3( Level, Fmt, Arg1, Arg2, Arg3) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3)) -#define LG_LOG_TRACE_4( Level, Fmt, Arg1, Arg2, Arg3, Arg4) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4)) -#define LG_LOG_TRACE_5( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5)) -#define LG_LOG_TRACE_6( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6)) -#define LG_LOG_TRACE_7( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7)) -#define LG_LOG_TRACE_8( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8)) -#define LG_LOG_TRACE_9( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9)) -#define LG_LOG_TRACE_10( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10)) -#define LG_LOG_TRACE_11( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11)) -#define LG_LOG_TRACE_12( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12)) -#define LG_LOG_TRACE_13( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12), (Arg13)) +#define LG_LOG_TRACE( Level, Fmt, ...) LG_Log( LGD_LOG_TYPE_ID_TRACE, (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), __VA_ARGS__) #else -#define LG_LOG_TRACE_0( Level, Fmt) -#define LG_LOG_TRACE_1( Level, Fmt, Arg1) -#define LG_LOG_TRACE_2( Level, Fmt, Arg1, Arg2) -#define LG_LOG_TRACE_3( Level, Fmt, Arg1, Arg2, Arg3) -#define LG_LOG_TRACE_4( Level, Fmt, Arg1, Arg2, Arg3, Arg4) -#define LG_LOG_TRACE_5( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5) -#define LG_LOG_TRACE_6( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) -#define LG_LOG_TRACE_7( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) -#define LG_LOG_TRACE_8( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) -#define LG_LOG_TRACE_9( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) -#define LG_LOG_TRACE_10( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) -#define LG_LOG_TRACE_11( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11) -#define LG_LOG_TRACE_12( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12) -#define LG_LOG_TRACE_13( Level, Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13) +#define LG_LOG_TRACE( Level, Fmt, ...) #endif -#define LG_LOG_INFO_0( Fmt) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt)) -#define LG_LOG_INFO_1( Fmt, Arg1) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1)) -#define LG_LOG_INFO_2( Fmt, Arg1, Arg2) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2)) -#define LG_LOG_INFO_3( Fmt, Arg1, Arg2, Arg3) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3)) -#define LG_LOG_INFO_4( Fmt, Arg1, Arg2, Arg3, Arg4) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4)) -#define LG_LOG_INFO_5( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5)) -#define LG_LOG_INFO_6( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6)) -#define LG_LOG_INFO_7( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7)) -#define LG_LOG_INFO_8( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8)) -#define LG_LOG_INFO_9( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9)) -#define LG_LOG_INFO_10( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10)) -#define LG_LOG_INFO_11( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11)) -#define LG_LOG_INFO_12( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12)) -#define LG_LOG_INFO_13( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12), (Arg13)) +#define LG_LOG_INFO( Fmt, ...) LG_Log( LGD_LOG_TYPE_ID_INFO, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), __VA_ARGS__) -#define LG_LOG_WARNING_0( Fmt) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt)) -#define LG_LOG_WARNING_1( Fmt, Arg1) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1)) -#define LG_LOG_WARNING_2( Fmt, Arg1, Arg2) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2)) -#define LG_LOG_WARNING_3( Fmt, Arg1, Arg2, Arg3) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3)) -#define LG_LOG_WARNING_4( Fmt, Arg1, Arg2, Arg3, Arg4) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4)) -#define LG_LOG_WARNING_5( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5)) -#define LG_LOG_WARNING_6( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6)) -#define LG_LOG_WARNING_7( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7)) -#define LG_LOG_WARNING_8( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8)) -#define LG_LOG_WARNING_9( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9)) -#define LG_LOG_WARNING_10( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10)) -#define LG_LOG_WARNING_11( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11)) -#define LG_LOG_WARNING_12( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12)) -#define LG_LOG_WARNING_13( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12), (Arg13)) +#define LG_LOG_WARNING( Fmt, ...) LG_Log( LGD_LOG_TYPE_ID_WARNING, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), __VA_ARGS__) -#define LG_LOG_ERROR_0( Fmt) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt)) -#define LG_LOG_ERROR_1( Fmt, Arg1) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1)) -#define LG_LOG_ERROR_2( Fmt, Arg1, Arg2) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2)) -#define LG_LOG_ERROR_3( Fmt, Arg1, Arg2, Arg3) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3)) -#define LG_LOG_ERROR_4( Fmt, Arg1, Arg2, Arg3, Arg4) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4)) -#define LG_LOG_ERROR_5( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5)) -#define LG_LOG_ERROR_6( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6)) -#define LG_LOG_ERROR_7( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7)) -#define LG_LOG_ERROR_8( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8)) -#define LG_LOG_ERROR_9( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9)) -#define LG_LOG_ERROR_10( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10)) -#define LG_LOG_ERROR_11( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11)) -#define LG_LOG_ERROR_12( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12)) -#define LG_LOG_ERROR_13( Fmt, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), (Arg1), (Arg2), (Arg3), (Arg4), (Arg5), (Arg6), (Arg7), (Arg8), (Arg9), (Arg10), (Arg11), (Arg12), (Arg13)) +#define LG_LOG_ERROR( Fmt, ...) LG_Log( LGD_LOG_TYPE_ID_ERROR, LGD_LOG_LEVEL_DEFAULT, LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true, (Fmt), __VA_ARGS__) -#define LG_STACK_TRACE( Level) LG_Stack_Trace( (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true) +#define LG_STACK_TRACE( Level, ...) LG_Stack_Trace( (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true)