nt9856x/code/application/source/sf_app/code/include/sf_log.h
2023-11-14 19:23:24 +08:00

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