#ifndef __SOLAR_LOG_H__ #define __SOLAR_LOG_H__ #pragma once #ifdef SOLARLOG_EXPORTS #define SOLARLOG_API __declspec(dllexport) #else #define SOLARLOG_API __declspec(dllimport) #endif //======================================================================================================================= /// Overlapped ¹æ½ÄÀ¸·Î Log¸¦ FileWrite ÇÒ ¼ö ÀÖ´Â ·Î±× Ŭ·¡½º /** @author Kim Min Wook < taiyo@webzen.co.kr > @since 2004. 11. 11 ( »©»©·Î Day ^^ ) @remarks - DLL·Î Á¦°ø - Overlapped File I/O ¹æ½Ä - File I/O Worker ½º·¹µå¸¦ µû·Î µÎ¾î File±â·Ï½Ã ºí·° µÇ´Â ¿À¹öÇìµå ÁÙ¿´´Ù. - ³¯Â¥°¡ ¹Ù²î¸é »õ·Î¿î ÆÄÀÏÀ» »ý¼ºÇؼ­ ±â·ÏÇÑ´Ù. - SolarLog ÀνºÅϽº¸¶´Ù ÇϳªÀÇ ½º·¹µå »ý¼ºµÈ´Ù. @note - È®ÀåÀÚ´Â wzl·Î »ý¼ºµÇ¸ç pszFileNamePrefix__Date_20041123.wzl Çü½ÄÀ¸·Î ÆÄÀÏÀÌ »ý¼ºµÈ´Ù. @todo - ¾ÏȣȭµÈ Çü½ÄÀ¸·Î ÀúÀåÇÏ´Â ¸ðµå¸¦ Ãß°¡ÇÑ´Ù. - 2007.5.8 : ¿¡·¯ ·Î±× Å¥À× : thread-unsafe @history - 2005.2.18 : Error Message Handler Function Ãß°¡ - 2005.11.16: Ringbuffer ±³Ã¼ ¹× ¹öÆÛ¸µµÈ ·Î±×¸¦ ¿ÏÀüÈ÷ ±â·ÏÇҽÿ¡ ½º·¹µå Á¾·áÇϵµ·Ï ¼öÁ¤ - 2005.11.23: TCHAR·Î ±³Ã¼, LOGxx()ÇÔ¼ö¿¡ BOOL ¸®Åϰª Ãß°¡ - 2005.11.24: ÆÄÀϳ¡¿¡ AppendµÇ°Ô ó¸® - 2007.5.8 : internal ÀÛ¾÷ ó¸® : header ÁÙÀÓ */ //======================================================================================================================= typedef void (*fnCallBackError) ( TCHAR * pszErrorMsg ); class SOLARLOG_API SolarLog { friend class LogWorkerThread; public: SolarLog(); ~SolarLog(); BOOL Create( TCHAR * pszDirName, TCHAR * pszFileNamePrefix ); BOOL LOG( BYTE * pBuffer, DWORD dwSize ); BOOL LOG( TCHAR * pszMessage ); BOOL LOG_Arg( TCHAR * pszMessage, ... ); BOOL LOG_Date( TCHAR * pszMessage ); VOID SetErrorHandler( fnCallBackError fnFunc ); private: class Internal; Internal * _IN; }; #endif // __SOLAR_LOG_H__