- Make private default Log_Writer function,
- Make private LGG_Base, - Add LG_Log_Stream_Get/Set API, - Minor file header fixies.
This commit is contained in:
		
							parent
							
								
									29ff5acb9f
								
							
						
					
					
						commit
						17452c794b
					
				@ -3,14 +3,14 @@
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* This file is part of liblog.                                               */
 | 
			
		||||
/* This file is part of LibLog.                                               */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is free software: you can redistribute it and/or modify it      */
 | 
			
		||||
/*    LibLog is free software: you can redistribute it and/or modify it       */
 | 
			
		||||
/*    under the terms of the GNU General Public License as published by       */
 | 
			
		||||
/*    the Free Software Foundation, either version 3 of the License, or       */
 | 
			
		||||
/*    (at your option) any later version.                                     */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is distributed in the hope that it will be useful,              */
 | 
			
		||||
/*    LibLog is distributed in the hope that it will be useful,               */
 | 
			
		||||
/*    but WITHOUT ANY WARRANTY; without even the implied warranty of          */
 | 
			
		||||
/*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            */
 | 
			
		||||
/*    GNU General Public License for more details.                            */
 | 
			
		||||
@ -19,6 +19,8 @@
 | 
			
		||||
/*    along with Drummer. If not, see <https://www.gnu.org/licenses/>.        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Includes                                                                   */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -75,7 +77,7 @@ int  main( int  argc, char  **argv)
 | 
			
		||||
    LGT_Status  status;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    if( ( status = LG_Library_Open( stderr, LGD_LOG_WRITER_DEFAULT, true)) != LGS_OK)
 | 
			
		||||
    if( ( status = LG_Library_Open( LGD_LOG_WRITER_DEFAULT, true)) != LGS_OK)
 | 
			
		||||
    {
 | 
			
		||||
        fprintf( stderr, "Can't open LibLog library: (%d)\n", status);
 | 
			
		||||
        return( -1);
 | 
			
		||||
 | 
			
		||||
@ -3,14 +3,14 @@
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* This file is part of liblog.                                               */
 | 
			
		||||
/* This file is part of LibLog.                                               */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is free software: you can redistribute it and/or modify it      */
 | 
			
		||||
/*    LibLog is free software: you can redistribute it and/or modify it       */
 | 
			
		||||
/*    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.                                     */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is distributed in the hope that it will be useful,              */
 | 
			
		||||
/*    LibLog is distributed in the hope that it will be useful,               */
 | 
			
		||||
/*    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.                     */
 | 
			
		||||
@ -20,6 +20,8 @@
 | 
			
		||||
/*    <https://www.gnu.org/licenses/>.                                        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Includes                                                                   */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -47,14 +49,6 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Global definitions                                                         */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define LGD_LOG_WRITER_DEFAULT            LG_Log_Write
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Definitions                                                                */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -144,23 +138,18 @@ typedef short                       LGT_Log_Level;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*---------------------------------------------------------------------------------*/
 | 
			
		||||
/* LGT_Base                                                                        */
 | 
			
		||||
/*---------------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
typedef LGT_Status  (*LGT_Log_Writer_Ptr)( LGT_Log_Type_Id, char  *, va_list);
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Log Writer                                                                 */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
typedef struct LGT_Base
 | 
			
		||||
{
 | 
			
		||||
    FILE                *Log_Stream_Out_Ptr;
 | 
			
		||||
    char                *Log_Type_Name_Tab[ LGD_LOG_TYPE_NB];
 | 
			
		||||
    LGT_Log_Writer_Ptr   Log_Writer_Ptr;
 | 
			
		||||
}  LGT_Base;
 | 
			
		||||
typedef LGT_Status  (*LGT_Log_Writer_Ptr)( FILE  *, LGT_Log_Type_Id, char  *, va_list);
 | 
			
		||||
 | 
			
		||||
#define LGD_LOG_STREAM_DEFAULT                       ( FILE  *)NULL
 | 
			
		||||
#define LGD_LOG_WRITER_DEFAULT            ( LGT_Log_Writer_Ptr)NULL
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LGD_API LGT_Base  LGG_Base;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -172,12 +161,11 @@ LGD_API LGT_Base  LGG_Base;
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Library_Open                                                            */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* (I) Log_Stream_Out_Ptr: Log output stream                                  */
 | 
			
		||||
/* (I) Log_Writer_Ptr:     Log writer pointer                                 */
 | 
			
		||||
/* (I) Header_Print_Flag:  Start by printing an header                        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGD_API LGT_Status  LG_Library_Open( FILE  *, LGT_Log_Writer_Ptr, bool);
 | 
			
		||||
LGD_API LGT_Status  LG_Library_Open( LGT_Log_Writer_Ptr, bool);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -191,6 +179,26 @@ LGD_API LGT_Status  LG_Library_Close( bool);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Stream_Get                                                          */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* (O) Log_Stream_Ptr_Ptr: Log output stream                                  */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGD_API LGT_Status  LG_Log_Stream_Get( FILE  **);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Stream_Set                                                          */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* (I) Log_Stream_Ptr: Log output stream                                      */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGD_API LGT_Status  LG_Log_Stream_Set( FILE  *);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log                                                                     */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -199,14 +207,6 @@ LGD_API LGT_Status  LG_Log( LGT_Log_Type_Id, LGT_Log_Level, char  *, char  *, lo
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Write                                                               */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGD_API LGT_Status  LG_Log_Write( LGT_Log_Type_Id, char  *, va_list);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*------------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Stack_Trace_Print                                                         */
 | 
			
		||||
/*------------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										71
									
								
								lib/liblog.c
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								lib/liblog.c
									
									
									
									
									
								
							@ -3,14 +3,14 @@
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* This file is part of liblog.                                               */
 | 
			
		||||
/* This file is part of LibLog.                                               */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is free software: you can redistribute it and/or modify it      */
 | 
			
		||||
/*    LibLog is free software: you can redistribute it and/or modify it       */
 | 
			
		||||
/*    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.                                     */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is distributed in the hope that it will be useful,              */
 | 
			
		||||
/*    LibLog is distributed in the hope that it will be useful,               */
 | 
			
		||||
/*    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.                     */
 | 
			
		||||
@ -20,14 +20,14 @@
 | 
			
		||||
/*    <https://www.gnu.org/licenses/>.                                        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Includes                                                                   */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define _LIBLOG_C_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <liblog.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,9 +38,8 @@
 | 
			
		||||
/* LG_Library_Open                                                            */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGT_Status  LG_Library_Open( FILE  *Log_Stream_Out_Ptr, LGT_Log_Writer_Ptr  Log_Writer_Ptr, bool  Header_Print_Flag)
 | 
			
		||||
LGT_Status  LG_Library_Open( LGT_Log_Writer_Ptr  Log_Writer_Ptr, bool  Header_Print_Flag)
 | 
			
		||||
{
 | 
			
		||||
    LGG_Base.Log_Stream_Out_Ptr = Log_Stream_Out_Ptr;
 | 
			
		||||
    LGG_Base.Log_Writer_Ptr     = Log_Writer_Ptr;
 | 
			
		||||
 | 
			
		||||
    if( Header_Print_Flag) LG_Log_Header( LGD_LOG_LEVEL_DEFAULT);
 | 
			
		||||
@ -67,6 +66,40 @@ LGT_Status  LG_Library_Close( bool  Footer_Print_Flag)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Stream_Out_Get                                                      */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* (O) Log_Stream_Out_Ptr_Ptr: Log output stream                              */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGT_Status  LG_Log_Stream_Out_Get( FILE  **Log_Stream_Out_Ptr_Ptr)
 | 
			
		||||
{
 | 
			
		||||
    *Log_Stream_Out_Ptr_Ptr = LGG_Base.Log_Stream_Out_Ptr;
 | 
			
		||||
 | 
			
		||||
    return( LGS_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Stream_Out_Set                                                      */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* (I) Log_Stream_Out_Ptr: Log output stream                                  */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGT_Status  LG_Log_Stream_Out_Set( FILE  *Log_Stream_Out_Ptr)
 | 
			
		||||
{
 | 
			
		||||
    LGG_Base.Log_Stream_Out_Ptr = Log_Stream_Out_Ptr;
 | 
			
		||||
    
 | 
			
		||||
    return( LGS_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Header                                                              */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -75,19 +108,21 @@ LGT_Status  LG_Log_Header( LGT_Log_Type_Id  Log_Type_Id, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list              args;
 | 
			
		||||
    char                 fmt[255];
 | 
			
		||||
    FILE                *log_stream_out_ptr;
 | 
			
		||||
    LGT_Log_Writer_Ptr   log_writer_ptr;
 | 
			
		||||
    LGT_Status           status;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    log_writer_ptr = ( ( LGG_Base.Log_Writer_Ptr == NULL) ?  &LG_Log_Write : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    log_stream_out_ptr = ( ( LGG_Base.Log_Stream_Out_Ptr == NULL) ?  LGD_LOG_STREAM_DEFAULT_VALUE : LGG_Base.Log_Stream_Out_Ptr);
 | 
			
		||||
    log_writer_ptr     = ( ( LGG_Base.Log_Writer_Ptr     == NULL) ?  LGD_LOG_WRITER_DEFAULT_VALUE : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    
 | 
			
		||||
    va_start( args, Log_Type_Id);
 | 
			
		||||
 | 
			
		||||
    sprintf( fmt, "\nYY/MM/DD|hh:mm:ss.uuuu|Typ|Lev|Name|      File Name      |Line| Log Message\n");
 | 
			
		||||
    status = ( *log_writer_ptr)( Log_Type_Id, fmt, args);
 | 
			
		||||
    status = ( *log_writer_ptr)( log_stream_out_ptr, Log_Type_Id, fmt, args);
 | 
			
		||||
 | 
			
		||||
    sprintf( fmt, "--------+-------------+---+---+----+---------------------+----+-------------------------------------------------------------------\n");
 | 
			
		||||
    status = ( *log_writer_ptr)( Log_Type_Id, fmt, args);
 | 
			
		||||
    status = ( *log_writer_ptr)( log_stream_out_ptr, Log_Type_Id, fmt, args);
 | 
			
		||||
    
 | 
			
		||||
    va_end( args);
 | 
			
		||||
 | 
			
		||||
@ -106,16 +141,18 @@ LGT_Status  LG_Log_Footer( LGT_Log_Type_Id  Log_Type_Id, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list              args;
 | 
			
		||||
    char                 fmt[255];
 | 
			
		||||
    FILE                *log_stream_out_ptr;
 | 
			
		||||
    LGT_Log_Writer_Ptr   log_writer_ptr;
 | 
			
		||||
    LGT_Status           status;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    log_writer_ptr = ( ( LGG_Base.Log_Writer_Ptr == NULL) ?  &LG_Log_Write : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    log_stream_out_ptr = ( ( LGG_Base.Log_Stream_Out_Ptr == NULL) ?  LGD_LOG_STREAM_DEFAULT_VALUE : LGG_Base.Log_Stream_Out_Ptr);
 | 
			
		||||
    log_writer_ptr     = ( ( LGG_Base.Log_Writer_Ptr     == NULL) ?  LGD_LOG_WRITER_DEFAULT_VALUE : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    
 | 
			
		||||
    va_start( args, Log_Type_Id);
 | 
			
		||||
 | 
			
		||||
    sprintf( fmt, "--------+-------------+---+---+----+---------------------+----+-------------------------------------------------------------------\n");
 | 
			
		||||
    status = ( *log_writer_ptr)( Log_Type_Id, fmt, args);
 | 
			
		||||
    status = ( *log_writer_ptr)( log_stream_out_ptr, Log_Type_Id, fmt, args);
 | 
			
		||||
    
 | 
			
		||||
    va_end( args);
 | 
			
		||||
 | 
			
		||||
@ -135,6 +172,7 @@ LGT_Status  LG_Log( LGT_Log_Type_Id  Log_Type_Id, LGT_Log_Level  Log_Level, char
 | 
			
		||||
    va_list              args;
 | 
			
		||||
    char                 fmt[255];
 | 
			
		||||
    int                  rc;
 | 
			
		||||
    FILE                *log_stream_out_ptr;
 | 
			
		||||
    LGT_Log_Writer_Ptr   log_writer_ptr;
 | 
			
		||||
    LGT_Status           status;
 | 
			
		||||
 | 
			
		||||
@ -147,9 +185,10 @@ LGT_Status  LG_Log( LGT_Log_Type_Id  Log_Type_Id, LGT_Log_Level  Log_Level, char
 | 
			
		||||
    
 | 
			
		||||
    va_start( args, Log_Fmt);
 | 
			
		||||
 | 
			
		||||
    log_writer_ptr = ( ( LGG_Base.Log_Writer_Ptr == NULL) ?  &LG_Log_Write : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    log_stream_out_ptr = ( ( LGG_Base.Log_Stream_Out_Ptr == NULL) ?  LGD_LOG_STREAM_DEFAULT_VALUE : LGG_Base.Log_Stream_Out_Ptr);
 | 
			
		||||
    log_writer_ptr     = ( ( LGG_Base.Log_Writer_Ptr     == NULL) ?  LGD_LOG_WRITER_DEFAULT_VALUE : LGG_Base.Log_Writer_Ptr);
 | 
			
		||||
    
 | 
			
		||||
    status = ( *log_writer_ptr)( Log_Type_Id, fmt, args);
 | 
			
		||||
    status = ( *log_writer_ptr)( log_stream_out_ptr, Log_Type_Id, fmt, args);
 | 
			
		||||
 | 
			
		||||
    va_end( args);
 | 
			
		||||
 | 
			
		||||
@ -196,12 +235,12 @@ LGT_Status  LG_Log_Format( char  *Out_Fmt, LGT_Log_Type_Id  Log_Type_Id, LGT_Log
 | 
			
		||||
/* LG_Log_Write                                                               */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGT_Status  LG_Log_Write( LGT_Log_Type_Id  Log_Type_Id, char  *Out_Fmt_Ptr, va_list  Args)
 | 
			
		||||
LGT_Status  LG_Log_Write( FILE  *Log_Stream_Out_Ptr, LGT_Log_Type_Id  Log_Type_Id, char  *Out_Fmt_Ptr, va_list  Args)
 | 
			
		||||
{
 | 
			
		||||
    int  rc;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    rc = vfprintf( LGG_Base.Log_Stream_Out_Ptr, Out_Fmt_Ptr, Args);
 | 
			
		||||
    rc = vfprintf( Log_Stream_Out_Ptr, Out_Fmt_Ptr, Args);
 | 
			
		||||
    
 | 
			
		||||
    if( rc < 0)
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										43
									
								
								lib/liblog.h
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								lib/liblog.h
									
									
									
									
									
								
							@ -3,14 +3,14 @@
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* This file is part of liblog.                                               */
 | 
			
		||||
/* This file is part of LibLog.                                               */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is free software: you can redistribute it and/or modify it      */
 | 
			
		||||
/*    LibLog is free software: you can redistribute it and/or modify it       */
 | 
			
		||||
/*    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.                                     */
 | 
			
		||||
/*                                                                            */
 | 
			
		||||
/*    Drummer is distributed in the hope that it will be useful,              */
 | 
			
		||||
/*    LibLog is distributed in the hope that it will be useful,               */
 | 
			
		||||
/*    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.                     */
 | 
			
		||||
@ -20,6 +20,8 @@
 | 
			
		||||
/*    <https://www.gnu.org/licenses/>.                                        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* Includes                                                                   */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
@ -45,20 +47,35 @@
 | 
			
		||||
/* Definitions                                                                */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
#define LGD_LOG_WRITER_DEFAULT            LG_Log_Write
 | 
			
		||||
 | 
			
		||||
#define LGD_MODULE_NAME "lg"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*---------------------------------------------------------------------------------*/
 | 
			
		||||
/* LGT_Base                                                                        */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/*---------------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
typedef struct LGT_Base
 | 
			
		||||
{
 | 
			
		||||
    FILE                *Log_Stream_Out_Ptr;
 | 
			
		||||
    char                *Log_Type_Name_Tab[ LGD_LOG_TYPE_NB];
 | 
			
		||||
    LGT_Log_Writer_Ptr   Log_Writer_Ptr;
 | 
			
		||||
}  LGT_Base;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LGD_LOG_STREAM_DEFAULT_VALUE             ( FILE  *)stderr
 | 
			
		||||
#define LGD_LOG_WRITER_DEFAULT_VALUE  ( LGT_Log_Writer_Ptr)&LG_Log_Write
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LGT_Base  LGG_Base =
 | 
			
		||||
{
 | 
			
		||||
    NULL,
 | 
			
		||||
    { LGD_LOG_TYPE_NAME_UNKNOWN, LGD_LOG_TYPE_NAME_TRACE, LGD_LOG_TYPE_NAME_INFO, LGD_LOG_TYPE_NAME_WARNING, LGD_LOG_TYPE_NAME_ERROR}
 | 
			
		||||
    LGD_LOG_STREAM_DEFAULT,
 | 
			
		||||
    { LGD_LOG_TYPE_NAME_UNKNOWN, LGD_LOG_TYPE_NAME_TRACE, LGD_LOG_TYPE_NAME_INFO, LGD_LOG_TYPE_NAME_WARNING, LGD_LOG_TYPE_NAME_ERROR},
 | 
			
		||||
    LGD_LOG_WRITER_DEFAULT
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -93,6 +110,14 @@ LGT_Status  LG_Log_Format( char  *, LGT_Log_Type_Id, LGT_Log_Level, char  *, cha
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
/* LG_Log_Write                                                               */
 | 
			
		||||
/*----------------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
LGT_Status  LG_Log_Write( FILE  *Log_Stream_Out_Ptr, LGT_Log_Type_Id, char  *, va_list);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user