[2025~] Embedded/Renesas RA4M2

[ 로그 출력 함수 | C ] 시간과 함께 로그 출력

heylo 2025. 3. 13. 18:28

코드

#include <stdio.h>
#include <stdarg.h>
#include <time.h>

void printf_log(const char *format, ...);

int main()
{
    printf_log("This is a log message");
    return 0;
}

void printf_log(const char *format, ...)
{

    // 현재 시간을 문자열로 변환
    time_t now = time(NULL);
    struct tm *now_tm;
    char time_str[20];
    time(&now);
    now_tm = localtime(&now);
    strftime(time_str, sizeof(time_str), "[%Y-%m-%d %H:%M:%S]", now_tm);

    va_list args;
    va_start(args, format);
    printf("%s", time_str); // 로그 메시지 출력
    vprintf(format, args);
    fflush(stdout); // stdout 버퍼를 강제로 플러시
    va_end(args);
}

 

결과

 

 

 

 


[참고]https://docs.m5stack.com/en/arduino/m5cardputer/sdcard

 

m5-docs

Product Tutorial

docs.m5stack.com

 

void printf_log(const char *format, ...) {
    char buf[256];
    va_list args;
    va_start(args, format);
    vsnprintf(buf, 256, format, args);
    va_end(args);
    Serial.print(buf);
    canvas.printf(buf);
    canvas.pushSprite(0, 0);
}