#include <stdio.h>
#include <fcntl.h>
#include <time.h>
#define MAX_FILE_NAME 256
int mylog(pfx, buffer,len)
char *pfx;
char *buffer;
int len;
{
char filename[MAX_FILE_NAME];
time_t timebuf;
struct tm *tptr;
int fd;
int ret;
memset(filename, 0x00, sizeof(filename));
timebuf = time((time_t *) 0);
tptr = localtime(&timebuf);
sprintf(filename, "%s.%.2d%.2d%.2d", pfx, tptr->tm_mon+1, tptr->tm_mday, tptr->tm_year%100);
if ((fd = open(filename, O_CREAT|O_WRONLY|O_APPEND, 0666) ) == -1) {
perror("file open error");
return -1;
}
ret = write(fd, buffer, len);
if (ret != len) {
perror("file write error");
return -1;
}
close(fd);
}
위의 파일을 공통 모듈로 만들고서, 다음과 같이 사용하면 된다.
#include <stdio.h>
#include <stdlib.h>
int mylog(char *,char *,int);
void main()
{
char buffer[100];
int ret;
memset(buffer,0x00,sizeof(buffer));
ret = sprintf(buffer, "test %s %d %f", "abc",2, 3.0);
mylog(getenv("ULOGPFX"), buffer, ret);
}
위에서 mylog() 함수의 첫번째 argument가 생성될 파일의 prefix가 된다.
예를 들어 "/tmp/test"라고 입력을 하게되면, 생성되는 파일은 /tmp/test.mmddyy 형식이 된다.
'▶ Tuxedo > 기술자료' 카테고리의 다른 글
FML과 View(STRUCTURE)의 비교 (0) | 2011.11.08 |
---|---|
Buffer Size 및 Broadcasting (0) | 2011.11.07 |
Tuxedo 운영 중 발생빈도가 높은 에러 및 조치사항 (0) | 2011.11.04 |
GP_CAT:1095: ERROR: tppost failed when posting event .SysClientState, tperrmsg=<TPEBLOCK - blocking condition found>, dropping the message (0) | 2011.11.02 |
Tuxedo start시 LIBTUX_CAT:1370/1367 메시지 (0) | 2011.10.31 |