하드웨어
보통 하드웨어나 프로그램을 테스트하다 보면 디버깅을 위해 [printf]문을 자주 사용합니다
하지만 종종 출력메세지를 저장하고 싶어 지는 경우가 생기더군요
(필자의 경우 테스트지그 프로그램에 활용)
이럴땐이런 함수 활용하시면 편할거에요~~^^*
//==============================================================
//로그 저장 함수(전역변수 type)
//==============================================================
//==============================================================
//저장할 로그파일 경로정의
//==============================================================
#define LOG_FILE "/app/log.txt"
//==============================================================
//전역변수 선언
//==============================================================
char log_buff[1024] = { 0x00, };
//==============================================================
//로그 저장함수
//==============================================================
int write_logfile( char *buff )
{
int file_access;
FILE *fd_log_file;
file_access = access(LOG_FILE, R_OK | W_OK);
if ( file_access == 0 )
{
fd_log_file = fopen(LOG_FILE, "a+");
}
else
{
fd_log_file = fopen(LOG_FILE, "w+");
}
if ( fd_log_file == NULL )
{
printf("log file open error\n");
return -1;
}
fseek( fd_log_file, 0, SEEK_END);
printf("%s", buff);
fwrite(buff, 1, strlen(buff), fd_log_file);
fclose(fd_log_file);
return 1;
}
//==============================================================
//로그함수 호출 루틴
//==============================================================
memset(log_buff, 0x00, sizeof(log_buff));//버퍼초기화
sprintf(log_buff, "%s", "log text\n"); //저장메세지
write_logfile( log_buff );//저장함수 호출