| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #include "log.h"
- #include "lock.h"
- #include "list.h"
- #include <rtdbg.h>
- enum {
- LV_INFO=0,
- LV_DEBUG,
- LV_WARN,
- LV_ERROR,
- LV_MAX
- };
- #define LOGx(lv, fmt, ...) log_print(lv, fmt, ##__VA_ARGS__)
- //#define LOGx(lv, fmt, ...) printf(fmt, ##__VA_ARGS__)
- #define LOGI(fmt, ...) LOGx(LV_INFO, fmt, ##__VA_ARGS__)
- #define LOGD(fmt, ...) LOGx(LV_DEBUG, fmt, ##__VA_ARGS__)
- #define LOGW(fmt, ...) LOGx(LV_WARN, fmt, ##__VA_ARGS__)
- #define LOGE(fmt, ...) LOGx(LV_ERROR, fmt, ##__VA_ARGS__)
- #define LOG_BUF_LEN 1000
- typedef struct {
- lock_t lck;
- handle_t list;
- uint8_t enable;
- uint8_t flags;
- char buf[LOG_BUF_LEN];
- }log_handle_t;
- static log_handle_t logHandle={0};
- int log_init(void)
- {
- log_handle_t *h=&logHandle;
-
- return 0;
- }
- int log_deinit(void)
- {
- log_handle_t *h=&logHandle;
-
- return 0;
- }
- int log_set(LOG_LEVEL lv, int en)
- {
- lock_on(logHandle.lck);
- if(en) {
- logHandle.flag |= lv;
- }
- else {
- logHandle.flag |= ~lv;
- }
- lock_off(logHandle.lck);
-
- return 0;
- }
- int log_print(LOG_LEVEL lv, char *fmt, ...)
- {
- int len;
- va_list args;
- log_handle_t *h=&logHandle;
-
- if(!h->enable || !(h->flag&lv)) {
- return -1;
- }
-
- lock_on(logHandle.lck);
-
- va_start(args, fmt);
- //dal_rtc_get(&dt);
- //vsnprintf(logHandle.buffer, LOG_BUF_LEN, "%02d:%02d:%02d, %s%s", dt.time.hour, dt.time.min, dt.time.sec, fmt, args);
- vsnprintf(h->buf, LOG_BUF_LEN, fmt, args);
- //vprintf(fmt, args);
- va_end(args);
-
- len = strlen(h->buf);
- //dal_uart_write(logHandle.hlog, h->buf, len);
- //list_append(logHandle.list, lv, logHandle.buffer, len);
- lock_off(logHandle.lck);
- return 0;
- }
- int log_save(void)
- {
- log_handle_t *h=&logHandle;
-
- return 0;
- }
|