/**
 * @file logger.cpp
 * @brief 日志系统实现
 */

#include "logger.h"

// 静态成员初始化
LogLevel Logger::s_log_level = LOG_LEVEL_INFO;

// ==========================================
// 用于解决 eyesee-mpp 库的链接依赖 (stub)
// 替代 liblog/libglog，避免动态链接错误
// ==========================================

#include <cstdarg>
#include <cstdio>

extern "C" {

// 模拟 log_printf
void log_printf(int level, const char* fmt, ...) {
    // 简单映射一下级别 (eyesee-mpp 定义可能不同，这不重要)
    if (level < 2) return; // 忽略低级别日志
    
    va_list args;
    va_start(args, fmt);
    vfprintf(stderr, fmt, args);
    va_end(args);
    // fprintf(stderr, "\n");
}

// 某些库可能还需要这些符号
// void log_set_level(int level) { (void)level; } // libcdx_base 已定义
// int  log_get_level() { return 1; }             // libcdx_base 已定义
void alog(int level, const char* tag, const char* fmt, ...) { 
    (void)level; (void)tag; (void)fmt; 
}
void SLOGD(const char* fmt, ...) { (void)fmt; }
void SLOGE(const char* fmt, ...) { (void)fmt; }
void SLOGW(const char* fmt, ...) { (void)fmt; }
void SLOGI(const char* fmt, ...) { (void)fmt; }
void SLOGV(const char* fmt, ...) { (void)fmt; }

} // extern "C"
