C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[37347] Re:[질문] 로그기능 구현 ..
수야!╋ [sooya23] 788 읽음    2004-09-21 10:19
안녕하세요. 수야랍니다.

파일 관련 함수로느 f시리즈가 참 편리하긴 하죠

하지만 공유엑세스라던가 하는 부분에서의 지원 옵션이 미약하기때문에 원하시는 상황에서는 사용하기가 좀 곤란하실겁니다.

WINAPI책을 보시면 XXXXFile등의 File로 끝나는 함수들이 있습니다.

CreaetFile 하여 파일을 생성하거나 오픈할 수 있는데요 그 안에 원하시는 옵션들은 충분히 있습니다.

또한 서버가 98이하에서 운영되는 것이 아니라면 Log는 CallBack함수로 정의하여

파일을 쓸때만 Open했다가 다 쓰고난후 Close하는 방법이 좋습니다.
( 콜백함수로 정의한다고 했는데 사용하는 방법의 차이는 있습니다. 좋으실데로 구현하셔도 상관없습니다.)

몇달 몇일을 Open한 상태로 사용하여 상관이 없긴 하지만... Open된 상태에서 전원이 나간다면

그 파일의 생존은 보장할 수 없습니다. ( 생존이라는건 write했던 내용을 이야기하는 것입니다. )

98이하의 경우라면 Open해놓고 사용해야 하는데 서버라면 98은 아니겠죠?

차이점이라고하면 I/O의 속도때문이라 할수 있겠습니다.

98이하는 (98포함이죠) I/O의 속도가 느리기 때문에 Open 하고  Close하는 시간이 오래걸리기 때문에

Open하고 사용해야 합니다.

쓰잘떼기 없는 98서버의 이야기는 이쯤에서 그만두겠습니다.

땅주인 님이 쓰신 글 :
: 서버용 프로그램을 운용중인데.. 로그 기능이 제공이 되지 않아서..
: 나중에 어떤 일이 벌어졌는 지 분석하기가 에매해서 로그 기능을 구현하려고 합니다.
:
: 지금 해 놓은 것은 파일 열어서 서버가 죽을 때까지 로그를 계속 기록하는 것인데요..
: 코드로 본다면...
:
: [시작할 때]
: fp = fopen("log.txt","at"); ..
:
: ....
: [이벤트 발생]
: ....
: fwrite("log 내용", 1, sizeof(), fp);
:
: [ 서버 종료 될 때 ]
: fclose(fp);
:
: 이런 식인데... 걱정되는 것은 파일 포인터를 open 상태로 며칠이고 몇 달이고 저렇게 나두어도
: 괜찮은 것인지 궁금해서요..  괜찮을 것 같은데... 걱정돼서..
:
: 그리고,
: 서버가 실행 중에 로그 파일을 열면 아직 파일이 닫혀지지 않아서 에디터에서 로그의 전체 내용을
: 확인할 수 없는데... 이부분을 어떻게 해야 하는 지 아시는 분 있으면 답변을 좀.....

+ -

관련 글 리스트
37344 [질문] 로그기능 구현 .. 땅주인 895 2004/09/20
37347     Re:[질문] 로그기능 구현 .. 수야!╋ 788 2004/09/21
37348         Re:Re:[질문] 로그기능 구현 .. 땅주인 769 2004/09/21
37349             Re:Re:Re:[질문] 로그기능 구현 .. 수야!╋ 797 2004/09/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.