215 lines
12 KiB
C
215 lines
12 KiB
C
/**************************************************************************
|
|
*
|
|
* Copyright (c) 2015-2020 by WuYuan Technology, Inc.
|
|
*
|
|
* This software is copyrighted by and is the property of SiFar
|
|
* Technology, Inc.. All rights are reserved by SiFar Technology, Inc..
|
|
* This software may only be used in accordance with the corresponding
|
|
* license agreement. Any unauthorized use, duplication, distribution,
|
|
* or disclosure of this software is expressly forbidden.
|
|
*
|
|
* This Copyright notice MUST not be removed or modified without prior
|
|
* written consent of SiFar Technology, Inc..
|
|
*
|
|
* WuYuan Technology, Inc. reserves the right to modify this software without notice.
|
|
*
|
|
* Author: Kola
|
|
* Ver: 1.0.0 2021.04.15
|
|
* Description: create
|
|
**************************************************************************/
|
|
#ifndef _SF_LOG_H_
|
|
#define _SF_LOG_H_
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
#include <fcntl.h>
|
|
#include <errno.h>
|
|
#include <sys/ioctl.h>
|
|
#include <pthread.h>
|
|
|
|
#include "sf_type.h"
|
|
#include "sf_param_common.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
#define LOG_TMP_MOD_FILE_PATH SF_SD_ROOT"SF_GPS.TXT"
|
|
#define LOG_AT_FILE_PATH SF_SD_ROOT"SF_GPS.TXT"
|
|
#define WARNING_FILE_PATH SF_SD_ROOT"warning.txt"
|
|
#define INFO_FILE_PATH SF_SD_ROOT"info.txt"
|
|
|
|
#define SF_LOG_VAR 0
|
|
|
|
#define LOG_AT_FILE_TMP_PATH "/tmp/SF_GPS.TXT"
|
|
|
|
#define SF_ENCRYPTION_ENBLE 0
|
|
|
|
typedef enum SF_LOG_LEVEL_E
|
|
{
|
|
SF_LOG_LEVEL_ERROR = 0, /**<error conditions */
|
|
SF_LOG_LEVEL_WARNING, /**<warning conditions */
|
|
SF_LOG_LEVEL_INFO, /**<informational */
|
|
SF_LOG_LEVEL_DEBUG, /**<debug-level */
|
|
} SF_LOG_LEVEL_e;
|
|
|
|
typedef enum SF_LOG_TYPE_E
|
|
{
|
|
SF_LOG_TYPE_SYS = 0,
|
|
SF_LOG_TYPE_AE,
|
|
SF_LOG_TYPE_CAM,
|
|
SF_LOG_TYPE_4G,
|
|
SF_LOG_TYPE_WIFI,
|
|
SF_LOG_TYPE_P2P,
|
|
SF_LOG_TYPE_BLU,
|
|
SF_LOG_TYPE_MAX,
|
|
} SF_LOG_TYPE_e;
|
|
|
|
#define NONE "\033[m"
|
|
#define RED "\033[0;32;31m"
|
|
#define LIGHT_RED "\033[1;31m"
|
|
#define GREEN "\033[0;32;32m"
|
|
#define LIGHT_GREEN "\033[1;32m"
|
|
#define BLUE "\033[0;32;34m"
|
|
#define LIGHT_BLUE "\033[1;34m"
|
|
#define DARY_GRAY "\033[1;30m"
|
|
#define CYAN "\033[0;36m"
|
|
#define LIGHT_CYAN "\033[1;36m"
|
|
#define PURPLE "\033[0;35m"
|
|
#define LIGHT_PURPLE "\033[1;35m"
|
|
#define BROWN "\033[0;33m"
|
|
#define YELLOW "\033[1;33m"
|
|
#define LIGHT_GRAY "\033[0;37m"
|
|
#define WHITE "\033[1;37m"
|
|
|
|
//#define MLOGI(format, args...) (printf( LIGHT_GREEN "[INFO]: %s[%d]:"NONE format, __FUNCTION__ , __LINE__, ##args))
|
|
//
|
|
//#define MLOGD(format, args...) (printf( LIGHT_PURPLE "[DEBUG]: %s[%d]:"NONE format, __FUNCTION__ , __LINE__, ##args))
|
|
//
|
|
//#define MLOGW(format, args...) (printf( YELLOW "[WARN]: %s[%d]:"NONE format, __FUNCTION__ , __LINE__, ##args))
|
|
//
|
|
//#define MLOGE(format, args...) (printf( LIGHT_RED "[ERROR]: %s[%d]:"NONE format, __FUNCTION__ , __LINE__, ##args))
|
|
|
|
#if SF_LOG_VAR
|
|
#define MLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define SYS_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define AE_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define CAM_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define NET_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define WIFI_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define P2P_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define BLU_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#else
|
|
|
|
#define MLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define MLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_MAX, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define SYS_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_SYS, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_SYS, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_SYS, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define SYS_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_SYS, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define AE_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_AE, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_AE, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_AE, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_AE, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define AE_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_AE, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define CAM_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_CAM, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_CAM, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_CAM, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define CAM_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_CAM, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define NET_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_4G, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_4G, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_4G, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define NET_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_4G, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define WIFI_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_WIFI, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_WIFI, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_WIFI, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define WIFI_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_WIFI, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define P2P_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_P2P, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_P2P, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_P2P, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define P2P_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_P2P, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#define BLU_SLOGE(fmt, args...) sf_log_file(SF_LOG_LEVEL_ERROR, SF_LOG_TYPE_BLU, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGW(fmt, args...) sf_log_file(SF_LOG_LEVEL_WARNING, SF_LOG_TYPE_BLU, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGI(fmt, args...) sf_log_file(SF_LOG_LEVEL_INFO, SF_LOG_TYPE_BLU, __FUNCTION__, __LINE__, fmt, ##args)
|
|
#define BLU_SLOGD(fmt, args...) sf_log_file(SF_LOG_LEVEL_DEBUG, SF_LOG_TYPE_BLU, __FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
#endif
|
|
#define SLOG_DM(fmt, args...) sf_log_module(__FUNCTION__, __LINE__, fmt, ##args)
|
|
|
|
|
|
|
|
|
|
|
|
SINT32 sf_log_Level_set(SF_LOG_LEVEL_e enLevel);
|
|
|
|
SF_LOG_LEVEL_e sf_log_Level_get(void);
|
|
|
|
void sf_log_module(const char *pszFunc, U32 u32Line, const char *pszFmt, ...);
|
|
#if SF_LOG_VAR
|
|
void sf_log_file(SF_LOG_LEVEL_e enLevel,const char *pszFunc, U32 u32Line,char *pszFmt, ...);
|
|
#else
|
|
void sf_log_file(SF_LOG_LEVEL_e enLevel, SF_LOG_TYPE_e enType,const char *pszFunc, U32 u32Line,char *pszFmt, ...);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|