liblog/include/log.h

252 lines
22 KiB
C
Raw Normal View History

2024-04-17 10:50:09 +02:00
/*----------------------------------------------------------------------------*/
/* log.h */
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* This file is part of LibLog. */
2024-04-17 10:50:09 +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. */
/* */
/* 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 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
#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_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))
#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
#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
/*----------------------------------------------------------------------------*/
/* Log Writer */
/*----------------------------------------------------------------------------*/
2024-04-17 10:50:09 +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
#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 */
/*----------------------------------------------------------------------------*/
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);
/*----------------------------------------------------------------------------*/
/* LG_Log_Stream_Get */
/*----------------------------------------------------------------------------*/
/* (O) Log_Stream_Ptr_Ptr: Log output stream */
2024-04-17 10:50:09 +02:00
/*----------------------------------------------------------------------------*/
LGD_API LGT_Status LG_Log_Stream_Get( FILE **);
2024-04-17 10:50:09 +02:00
/*----------------------------------------------------------------------------*/
/* LG_Log_Stream_Set */
/*----------------------------------------------------------------------------*/
/* (I) Log_Stream_Ptr: Log output stream */
2024-04-17 10:50:09 +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_