2024-04-17 10:50:09 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* log.h */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
2024-04-17 17:52:43 +02:00
|
|
|
/* This file is part of LibLog. */
|
2024-04-17 10:50:09 +02:00
|
|
|
/* */
|
2024-04-17 17:52:43 +02:00
|
|
|
/* LibLog is free software: you can redistribute it and/or modify it */
|
2024-04-17 10:50:09 +02:00
|
|
|
/* under the terms of the GNU Lesser General Public License as published */
|
|
|
|
/* by the Free Software Foundation, either version 3 of the License, or */
|
|
|
|
/* (at your option) any later version. */
|
|
|
|
/* */
|
2024-04-17 17:52:43 +02:00
|
|
|
/* LibLog is distributed in the hope that it will be useful, */
|
2024-04-17 10:50:09 +02:00
|
|
|
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
|
|
|
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
|
|
|
/* GNU Lesser General Public License for more details. */
|
|
|
|
/* */
|
|
|
|
/* You should have received a copy of the GNU Lesser General Public */
|
2024-04-20 10:02:06 +02:00
|
|
|
/* License along with LibLog. If not, see */
|
2024-04-17 10:50:09 +02:00
|
|
|
/* <https://www.gnu.org/licenses/>. */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
|
|
|
|
|
2024-04-17 10:50:09 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Includes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#ifndef _LIBLOG_H_
|
|
|
|
#define _LIBLOG_H_
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <errno.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <sys/time.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Pre definitions */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Definitions */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* LGD_API definition */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
# ifdef _LIBLOG_C_
|
|
|
|
# define LGD_API
|
|
|
|
# else
|
|
|
|
# define LGD_API extern
|
|
|
|
# endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Status definition */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
typedef short LGT_Status;
|
|
|
|
|
|
|
|
#define LGS_OK ( LGT_Status) 0
|
|
|
|
#define LGS_KO ( LGT_Status) 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define LGD_LOG_TYPE_NB 5
|
|
|
|
|
|
|
|
typedef short LGT_Log_Type_Id;
|
|
|
|
|
|
|
|
#define LGD_LOG_TYPE_ID_UNKNOWN ( LGT_Log_Type_Id) 0
|
|
|
|
#define LGD_LOG_TYPE_ID_TRACE ( LGT_Log_Type_Id) 1
|
|
|
|
#define LGD_LOG_TYPE_ID_INFO ( LGT_Log_Type_Id) 2
|
|
|
|
#define LGD_LOG_TYPE_ID_WARNING ( LGT_Log_Type_Id) 3
|
|
|
|
#define LGD_LOG_TYPE_ID_ERROR ( LGT_Log_Type_Id) 4
|
|
|
|
|
|
|
|
typedef char *LGT_Log_Type_Name;
|
|
|
|
|
|
|
|
#define LGD_LOG_TYPE_NAME_UNKNOWN ( LGT_Log_Type_Name) "???"
|
|
|
|
#define LGD_LOG_TYPE_NAME_TRACE ( LGT_Log_Type_Name) "TRA"
|
|
|
|
#define LGD_LOG_TYPE_NAME_INFO ( LGT_Log_Type_Name) "INF"
|
|
|
|
#define LGD_LOG_TYPE_NAME_WARNING ( LGT_Log_Type_Name) "WRN"
|
|
|
|
#define LGD_LOG_TYPE_NAME_ERROR ( LGT_Log_Type_Name) "ERR"
|
|
|
|
|
|
|
|
typedef short LGT_Log_Level;
|
|
|
|
|
|
|
|
#define LGD_LOG_LEVEL_UNKNOWN ( LGT_Log_Level) 0
|
|
|
|
#define LGD_LOG_LEVEL_DEFAULT ( LGT_Log_Level) 1
|
|
|
|
|
2024-04-20 10:02:06 +02:00
|
|
|
|
|
|
|
|
2024-05-06 19:11:11 +02:00
|
|
|
#ifdef _LOG_TRACE
|
|
|
|
|
2024-04-18 16:30:12 +02:00
|
|
|
#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))
|
|
|
|
|
2024-05-06 19:11:11 +02:00
|
|
|
#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)
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2024-04-18 16:30:12 +02:00
|
|
|
#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))
|
2024-04-24 20:30:29 +02:00
|
|
|
#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))
|
2024-04-18 16:30:12 +02:00
|
|
|
#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_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))
|
2024-04-17 10:50:09 +02:00
|
|
|
|
2024-04-18 16:30:12 +02:00
|
|
|
#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_STACK_TRACE( Level) LG_Stack_Trace( (Level), LGD_MODULE_NAME, __FILE__, __LINE__, __func__, true)
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Log Writer */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
2024-04-17 10:50:09 +02:00
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
typedef LGT_Status (*LGT_Log_Writer_Ptr)( FILE *, LGT_Log_Type_Id, char *, va_list);
|
2024-04-17 10:50:09 +02:00
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
#define LGD_LOG_STREAM_DEFAULT ( FILE *)NULL
|
|
|
|
#define LGD_LOG_WRITER_DEFAULT ( LGT_Log_Writer_Ptr)NULL
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* Public Prototypes */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* LG_Library_Open */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* (I) Log_Writer_Ptr: Log writer pointer */
|
|
|
|
/* (I) Header_Print_Flag: Start by printing an header */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
LGD_API LGT_Status LG_Library_Open( LGT_Log_Writer_Ptr, bool);
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* LG_Library_Close */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* (I) Footer_Print_Flag: End by printing an header */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
LGD_API LGT_Status LG_Library_Close( bool);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
2024-04-17 17:52:43 +02:00
|
|
|
/* LG_Log_Stream_Get */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* (O) Log_Stream_Ptr_Ptr: Log output stream */
|
2024-04-17 10:50:09 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
LGD_API LGT_Status LG_Log_Stream_Get( FILE **);
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
2024-04-17 17:52:43 +02:00
|
|
|
/* LG_Log_Stream_Set */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* (I) Log_Stream_Ptr: Log output stream */
|
2024-04-17 10:50:09 +02:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-17 17:52:43 +02:00
|
|
|
LGD_API LGT_Status LG_Log_Stream_Set( FILE *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
/* LG_Log */
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-18 00:03:12 +02:00
|
|
|
LGD_API LGT_Status LG_Log( LGT_Log_Type_Id, LGT_Log_Level, char *, const char *, const long, const char *, bool, char *, ...);
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*------------------------------------------------------------------------------*/
|
|
|
|
/* LG_Stack_Trace_Print */
|
|
|
|
/*------------------------------------------------------------------------------*/
|
|
|
|
|
2024-04-18 00:03:12 +02:00
|
|
|
LGD_API LGT_Status LG_Stack_Trace( LGT_Log_Level, char *, const char *, const long, const char *, bool);
|
2024-04-17 10:50:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#endif // ifndef _LIBLOG_H_
|