log 파일을 만들고 싶은데요...

facered79의 이미지

년월일시분초를 파일 명으로 하는 .log 라는 로그 파일을

프로그램 실행시에 생성해서 printf 문 같은 걸로 출력했을때

출력이 로그에 써지도록 할려면 어떤 방법을 써야 하나요

로그 생성과 관련한 예제 소스나 조언 부탁 드릴게요...

정태영의 이미지

실행 스크립트를 하나 만드세요...

#!/bin/sh

./myprog > `date +%y%m%d`.log 

정도 스크립(?)이면 되지 않을까 싶습니다... date 의 man 페이지를 참고해보면 년월일시분초 로도 쉽게 바꿀 수 있을겁니다...

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

facered79의 이미지

파일에 기록이 안되네요..

지금 이 프로그램은 데몬상태로 실행되거든요..

kuaaan의 이미지

방법 1. close(0) 한 뒤 로그파일 descriptor를 stdout에 복사한 후 printf하면 로그파일에 써집니다. (man dup2 해보셈. )

방법 2. variable argument를 사용하는 logging함수를 따로 제작. (printf 함수처럼 사용하면 파일에 써지는 함수)

예전에 만들어놓았던 코드네요.(이거 동작하나 모르겠네... ^^) 참고하세요.

#include <stdarg.h>
...
...

void logging(char* cfilengthame, char* cformat, ...)
{
   va_list ap;

   FILE    *fp_o;

   if( (fp_o=fopen(cfilengthame,"a"))==NULL ) {
   printf("fail to open file\n");
   return;
   }

   va_start(ap , cformat);

   vfprintf(fp_o,  cformat, ap );

   fclose( fp_o );
   va_end(ap);
}

----------------------------------------------
한번뿐인 인생....
미친듯이 살아보자!
----------------------------------------------

cmoh1110의 이미지

cronolog 라는 걸 써 보심이..

http://cronolog.org/