Changeset 35 in libcf for trunk/include/cf_log.h
- Timestamp:
- 02/05/13 18:18:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/cf_log.h
r34 r35 4 4 * @version 0.1 5 5 * 6 * @section 샘플코드 7 * @code 8 9 #include "cf_log.h" 10 11 CF_Log_Ctx gLogCtx; 12 13 void main (const char * message) 14 { 15 int i, j; 16 char logname[16] = {0x00,}; 17 18 CF_DEBUG_CALLSTACK_PUSH (gDebugCtx); 19 20 CF_Log_Initialize (10); 21 22 // with context 23 gLogCtx = CF_Log_CreateCtx (file, CF_LOG_BUFFER_DEFAULT); 24 if (gLogCtx == NULL) 25 CF_DEBUG_PRINT (stderr, "create log ctx error\n"); 26 27 for (i = 0 ; i < 10000 ; i++) 28 CF_Log_Write (gLogCtx, "LOG_TEST", "turn %d\n", i); 29 30 CF_DEBUG_CALLSTACK_POP (gDebugCtx, &gDebugCallstack); 31 32 CF_Log_Write (gLogCtx, message, 33 "here is the end of function [file:%s line:%d func:%s]\n", 34 gDebugCallstack.file, 35 gDebugCallstack.line, 36 gDebugCallstack.function); 37 38 CF_Log_DestroyCtx (gLogCtx); 39 40 // with id number 41 for (i = 0 ; i < 10 ; i++) 42 { 43 sprintf (logname, "logid%d.txt", i); 44 CF_LOG_OPEN (i, logname, CF_LOG_BUFFER_NO); 45 } 46 47 for (i = 0 ; i < 10 ; i++) 48 { 49 for (j = 0 ; j < 10000 ; j++) 50 CF_LOG_WRITE (i, "LOG_ID_TEST", "turn %d\n", j); 51 52 CF_LOG_CLOSE (i); 53 } 54 55 CF_Log_Finalize (); 56 } 57 58 * @endcode 6 * @example log.c 59 7 */ 60 8 #ifndef __CF_LOG_H__ … … 130 78 #endif 131 79 132 /**133 * 로그를 사용하기 위해 초기화134 *135 * @return 성공 시, CF_OK; 실패 시, 오류 코드136 *137 * @param logPool 아이디 넘버 최대 값138 */139 80 CF_EXPORT int 140 81 CF_Log_Initialize (const int logPool); 141 82 142 /**143 * 로그가 모두 사용된 후 자원 해제144 *145 * @return CF_OK 반환146 */147 83 CF_EXPORT int 148 84 CF_Log_Finalize (void); 149 85 150 /**151 * 로그 컨텍스트 생성152 *153 * @return 성공 시, 로그 컨텍스트; 실패 시, NULL154 *155 * @param path 로그 파일 경로156 * @param memsize 로그 버퍼 크기157 *158 * @see CF_LOG_BUFFER_DEFAULT, CF_LOG_BUFFER_NO159 */160 86 CF_EXPORT CF_Log_Ctx 161 87 CF_Log_CreateCtx (const char * path, 162 88 const int memsize); 163 89 164 /**165 * 로그 컨텍스트 해제166 *167 * @return 성공 시, CF_OK; 실패 시, 오류 코드168 *169 * @param ctx 로그 컨텍스트170 */171 90 CF_EXPORT int 172 91 CF_Log_DestroyCtx (CF_Log_Ctx ctx); 173 92 174 /**175 * 로그 컨텍스트에 멀티쓰레드 모드 설정176 *177 * @return 성공 시, CF_OK; 실패 시, 오류 코드178 *179 * @param ctx 로그 컨텍스트180 */181 93 CF_EXPORT int 182 94 CF_Log_SetMultiThread (CF_Log_Ctx ctx); 183 95 184 /**185 * 로그 컨텍스트에 멀티쓰레드 모드 설정 해제186 *187 * @return 성공 시, CF_OK; 실패 시, 오류 코드188 *189 * @param ctx 로그 컨텍스트190 */191 96 CF_EXPORT int 192 97 CF_Log_UnsetMultiThread (CF_Log_Ctx ctx); 193 98 194 /**195 * 로그 컨텍스트에 따라 로그 쓰기196 *197 * @return 성공 시, CF_OK; 실패 시, 오류 코드198 *199 * @param ctx 로그 컨텍스트200 * @param prefix 로그의 프리픽스 문자열201 * @param fmt 포맷 스트링202 * @param ... 가변 인자203 */204 99 CF_EXPORT int 205 100 CF_Log_Write (CF_Log_Ctx ctx, … … 207 102 const char * fmt, ...); 208 103 209 /**210 * 로그 버퍼의 데이터를 즉시 로그 파일에 쓰기211 *212 * @return 성공 시, CF_OK; 실패 시, 오류 코드213 *214 * @param ctx 로그 컨텍스트215 */216 104 CF_EXPORT int 217 105 CF_Log_Flush (CF_Log_Ctx ctx); 218 106 219 /**220 * 로그 컨텍스트에 아이디 넘버 할당<br />221 * 로그 기록 시, 아이디 넘버를 사용하면 해당 로그로 기록할 수 있음222 *223 * @return 성공 시, CF_OK; 실패 시, 오류 코드224 *225 * @param mapid 부여할 아이디 넘버226 * @param ctx 로그 컨텍스트227 *228 * @remark 반드시 먼저 초기화 해야하며, 초기화 시에 주어진 번호보다 작은 아이디 넘버를 사용해야 함229 *230 * @see CF_LOG_OPEN, CF_Log_CreateCtx231 */232 107 CF_EXPORT int 233 108 CF_Log_MapCtxID (const int mapid, 234 109 const CF_Log_Ctx ctx); 235 110 236 /**237 * 아이디 넘버에 해당하는 로그를 닫고 해당하는 컨텍스트를 해제238 *239 * @return 성공 시, CF_OK; 실패 시, 오류 코드240 *241 * @param mapid 로그의 아이디 넘버242 *243 * @remark 아이디 넘버에 해당하는 컨텍스트가 해제되므로 주의244 *245 * @see CF_LOG_CLOSE, CF_Log_DestroyCtx246 */247 111 CF_EXPORT int 248 112 CF_Log_UnmapCtxID (const int mapid); 249 113 250 /**251 * 아이디 넘버에 해당하는 로그 컨텍스트를 얻기252 *253 * @return 성공 시, 로그 컨텍스트; 실패 시, NULL254 *255 * @param mapid 로그의 아이디 넘버256 */257 114 CF_EXPORT CF_Log_Ctx 258 115 CF_Log_GetMappedCtx (const int mapid);
Note:
See TracChangeset
for help on using the changeset viewer.