/* Copyright (c) MediaArea.net SARL. All Rights Reserved. * * Use of this source code is governed by a zlib-style license that can * be found in the License.txt file in the root of the source tree. */ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // Trace // // Provide a direct to file trace // //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //--------------------------------------------------------------------------- #ifndef ZenTraceH #define ZenTraceH //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #include #include "ZenLib/Ztring.h" //--------------------------------------------------------------------------- namespace ZenLib { //*************************************************************************** static std::FILE* Trace_F; static ZenLib::Ztring Trace; static ZenLib::Ztring Trace2; #ifdef TRACE #undef TRACE #endif //TRACE #if 1 #define TRACE(_TOAPPEND) #else #define TRACE(_TOAPPEND) \ Trace.clear(); \ Trace2.clear(); \ _TOAPPEND; \ if (!Trace2.empty()) \ { \ Trace+=__T(" - "); \ Trace+=Trace2; \ } \ Trace+=__T("\r\n"); \ Trace_F=std::fopen("Trace.txt", "a+t"); \ if(Trace_F) \ { \ std::fwrite(Trace.To_Local().c_str(), Trace.size(), 1, Trace_F); \ std::fclose(Trace_F); \ } #endif //*************************************************************************** } //NameSpace #endif // ZenTraceH