From 14c45586ac7c9e01cb4745185e698e593773bf08 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Wed, 28 Aug 2024 17:52:01 +0800
Subject: [PATCH] update openlibs top build.sh

---
 booster/logger.h |  123 ++++++++++++++--------------------------
 1 files changed, 43 insertions(+), 80 deletions(-)

diff --git a/booster/logger.h b/booster/logger.h
index 5505101..ef8569e 100644
--- a/booster/logger.h
+++ b/booster/logger.h
@@ -1,105 +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 LOG_STDERR                 "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_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_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  log_open(logger_t *logger, char *filename, int level, int log_size);
-extern int  log_reopen(void);
-extern void log_close(void);
+/* 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__)
 
-/* lowlvel API */
-extern void logger_raw(const char *fmt, ...);
-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_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__)
-#else
-#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__)
 #endif
-
-#endif   /* ----- #ifndef _LOGGER_H_  ----- */
-

--
Gitblit v1.9.1