From 8e62b03217c78e78eddf3ff8dbd5948dd4831aa6 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Fri, 23 Aug 2024 10:48:29 +0800 Subject: [PATCH] update build shell script form openlibs --- booster/logger.h | 133 ++++++++++++++----------------------------- 1 files changed, 44 insertions(+), 89 deletions(-) diff --git a/booster/logger.h b/booster/logger.h index 7031761..ef8569e 100644 --- a/booster/logger.h +++ b/booster/logger.h @@ -1,113 +1,68 @@ -/******************************************************************************** - * Copyright: (C) 2020 LingYun IoT System Studio +/********************************************************************************* + * Copyright: (C) 2023 LingYun IoT System Studio. * All rights reserved. * * Filename: logger.h - * Description: This file is the linux infrastructural logger system library + * Description: This file is common logger API functions * - * Version: 1.0.0(08/08/2020~) + * Version: 1.0.0(11/08/23) * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "08/08/2020 05:16:56 PM" - * + * ChangeLog: 1, Release initial version on "11/08/23 16:18:43" + * ********************************************************************************/ #ifndef _LOGGER_H_ #define _LOGGER_H_ -#include <stdarg.h> #include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <signal.h> -#include <time.h> -#include <errno.h> +#include <stdarg.h> -#include <sys/types.h> -#include <sys/time.h> +#define LOG_VERSION "v0.1" -#define LOG_VERSION_STR "1.0.0" - -#ifndef FILENAME_LEN -#define FILENAME_LEN 64 -#endif - -#define DBG_LOG_FILE "stderr" /* Debug mode log file is console */ - -#define LOG_ROLLBACK_SIZE 512 /* Default rollback log size */ -#define LOG_ROLLBACK_NONE 0 /* Set rollback size to 0 will not rollback */ - -#define DEFAULT_TIME_FORMAT "%Y-%m-%d %H:%M:%S" -#define MAX_LOG_MESSAGE_LEN 0x1000 - -//#define DUMPLICATE_OUTPUT /* Log to file and printf on console */ - -enum -{ - LOG_LEVEL_DISB = 0, /* Disable "Debug" */ - LOG_LEVEL_FATAL, /* Debug Level "Fatal" */ - LOG_LEVEL_ERROR, /* Debug Level "ERROR" */ - LOG_LEVEL_WARN, /* Debug Level "warnning" */ - LOG_LEVEL_NRML, /* Debug Level "Normal" */ - LOG_LEVEL_DEBUG, /* Debug Level "Debug" */ - LOG_LEVEL_INFO, /* Debug Level "Information" */ - LOG_LEVEL_TRACE, /* Debug Level "Trace" */ - LOG_LEVEL_MAX, +/* log level */ +enum { + LOG_LEVEL_ERROR, + LOG_LEVEL_WARN, + LOG_LEVEL_INFO, + LOG_LEVEL_DEBUG, + LOG_LEVEL_TRACE, + LOG_LEVEL_MAX }; +enum { + LOG_LOCK_DISABLE, /* disable lock */ + LOG_LOCK_ENABLE, /* enable lock */ +}; + +#define ROLLBACK_NONE 0 + +/* description: Initial the logger system + * arguments : + * $fname: logger file name, NULL/"console"/"stderr" will log to console + * $level: logger level above; + * $size : logger file max size in KiB + * $lock : thread lock enable or not + * return : <0: Failed ==0: Sucessfully + */ +int log_open(char *fname, int level, int size, int lock); -/* logger->flag definition */ -#define FLAG_LOGGER_LEVEL_OPT 1<<0 /* The log level is sepcified by the command option */ +/* description: Terminate the logger system */ +void log_close(void); -#define FLAG_LOGGER_CONSOLE 1<<1 -#define FLAG_LOGGER_FILE 0<<1 -typedef struct logger_s -{ - unsigned char flag; - char file[FILENAME_LEN]; - int level; - int size; +/* description: log message into log file. Don't call this function directly. */ +void _log_write(int level, const char *file, int line, const char *fmt, ...); - FILE *fp; -} logger_t; -extern char *log_str[]; +/* description: dump a buffer in hex to logger file */ +void log_dump(int level, const char *prompt, char *buf, size_t len); -/* log_size unit is KB */ -extern int logger_init(logger_t *logger, char *filename, int level, int log_size); -extern int logger_open(void); -extern void logger_set_time_format(char *time_format); -extern int logger_reopen(void); -extern void logger_close(void); -extern void logger_term(void); -extern void logger_raw(const char *fmt, ...); +/* function: log message into logger file with different log level */ +#define log_trace(...) _log_write(LOG_LEVEL_TRACE, __FILE__, __LINE__, __VA_ARGS__) +#define log_debug(...) _log_write(LOG_LEVEL_DEBUG, __FILE__, __LINE__, __VA_ARGS__) +#define log_info(...) _log_write(LOG_LEVEL_INFO, __FILE__, __LINE__, __VA_ARGS__) +#define log_warn(...) _log_write(LOG_LEVEL_WARN, __FILE__, __LINE__, __VA_ARGS__) +#define log_error(...) _log_write(LOG_LEVEL_ERROR, __FILE__, __LINE__, __VA_ARGS__) -extern void logger_min(int level, char *fmt, ...); -extern void logger_line(int level, char *file, int line, char *fmt, ...); -extern void logger_str(int level, const char *msg); -extern void logger_dump(int level, char *buf, int len); - -#define LOG_FILE_LINE /* Log the file and line */ - -#ifdef LOG_FILE_LINE -#define log_trace(fmt, ...) logger_line(LOG_LEVEL_TRACE, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_info(fmt, ...) logger_line(LOG_LEVEL_INFO, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_dbg(fmt, ...) logger_line(LOG_LEVEL_DEBUG, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_nrml(fmt, ...) logger_line(LOG_LEVEL_NRML, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_warn(fmt, ...) logger_line(LOG_LEVEL_WARN, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_err(fmt, ...) logger_line(LOG_LEVEL_ERROR, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#define log_fatal(fmt, ...) logger_line(LOG_LEVEL_FATAL, __FILE__, __LINE__, fmt, ##__VA_ARGS__) -#else -#define log_trace(fmt, ...) logger_min(LOG_LEVEL_TRACE, fmt, ##__VA_ARGS__) -#define log_info(fmt, ...) logger_min(LOG_LEVEL_INFO, fmt, ##__VA_ARGS__) -#define log_dbg(fmt, ...) logger_min(LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__) -#define log_nrml(fmt, ...) logger_min(LOG_LEVEL_NRML, fmt, ##__VA_ARGS__) -#define log_warn(fmt, ...) logger_min(LOG_LEVEL_WARN, fmt, ##__VA_ARGS__) -#define log_err(fmt, ...) logger_min(LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__) -#define log_fatal(fmt, ...) logger_min(LOG_LEVEL_FATAL, fmt, ##__VA_ARGS__) #endif - -#endif /* ----- #ifndef _LOGGER_H_ ----- */ - -- Gitblit v1.9.1