00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ZenTraceH
00017 #define ZenTraceH
00018
00019
00020
00021 #include <fstream>
00022 #include "ZenLib/Ztring.h"
00023
00024
00025 namespace ZenLib
00026 {
00027
00028
00029
00030 static std::FILE* Trace_F;
00031 static ZenLib::Ztring Trace;
00032 static ZenLib::Ztring Trace2;
00033
00034 #ifdef TRACE
00035 #undef TRACE
00036 #endif //TRACE
00037
00038 #if 1
00039 #define TRACE(_TOAPPEND)
00040 #else
00041 #define TRACE(_TOAPPEND) \
00042 Trace.clear(); \
00043 Trace2.clear(); \
00044 _TOAPPEND; \
00045 if (!Trace2.empty()) \
00046 { \
00047 Trace+=__T(" - "); \
00048 Trace+=Trace2; \
00049 } \
00050 Trace+=__T("\r\n"); \
00051 Trace_F=std::fopen("Trace.txt", "a+t"); \
00052 if(Trace_F) \
00053 { \
00054 std::fwrite(Trace.To_Local().c_str(), Trace.size(), 1, Trace_F); \
00055 std::fclose(Trace_F); \
00056 }
00057 #endif
00058
00059
00060
00061
00062 }
00063
00064 #endif // ZenTraceH