Return TypeFunction nameArguments
hzEcodehzLogger::Log(const hzChain&,)

Declared in file: hzProcess.h
Defined in file : hzLogger.cpp

Function Logic:

0:START 1:hzChain::Size 2:Z.Size() 3:hzLockS::Lock hzLogger::_logrotate 4:m_bVerbose 5:n; 6:printf 7:hzProcess::GetId hzProcess::Level hzXDate::Year hzXDate::Month hzXDate::Day hzXDate::Hour hzXDate::Min hzXDate::Sec hzXDate::uSec hzProcess::GetCurrFunc printf items n 8:n; 9:fprintf 10:hzProcess::GetId hzProcess::Level hzXDate::Year hzXDate::Month hzXDate::Day hzXDate::Hour hzXDate::Min hzXDate::Sec hzXDate::uSec hzProcess::GetCurrFunc fprintf zi 11:rc==E_OK&&!zi.eof(); 12:!zi.eof()&&nBytes 13:* 14:!nBytes 15:m_pDataPtr hzLogger::_write rc 16:hzLockS::Unlock 17:Return rc

Function body:

hzEcode hzLogger::Log (const hzChain& Z)
{
   hzChain::Iter   zi ;
   char*       i ;
   int32_t     n ;
   uint32_t    nBytes ;
   hzEcode     rc = E_OK ;
   if (Z.Size())
   {
       m_Lock.Lock() ;
       _logrotate() ;
       if (m_bVerbose)
       {
           for (n = m_nIndent ; n ; n--)
               printf("\t") ;
           printf("T%uL%d: %04d/%02d/%02d-%02d:%02d:%02d.%06d %s:\t",
               _hzGlobal_currProc->GetId(),
               _hzGlobal_currProc->Level(),
               m_datCurr.Year(), m_datCurr.Month(), m_datCurr.Day(), m_datCurr.Hour(), m_datCurr.Min(), m_datCurr.Sec(), m_datCurr.uSec(),
               _hzGlobal_currProc->GetCurrFunc()) ;
           std::cout << Z ;
       }
       for (n = m_nIndent ; n ; n--)
           fprintf(m_pFile, "\t") ;
       fprintf(m_pFile, "T%uL%d: %04d/%02d/%02d-%02d:%02d:%02d.%06d %s:\t",
           _hzGlobal_currProc->GetId(),
           _hzGlobal_currProc->Level(),
           m_datCurr.Year(), m_datCurr.Month(), m_datCurr.Day(), m_datCurr.Hour(), m_datCurr.Min(), m_datCurr.Sec(), m_datCurr.uSec(),
           _hzGlobal_currProc->GetCurrFunc()) ;
       for (zi = Z ; rc == E_OK && !zi.eof() ;)
       {
           for (i = m_pDataPtr, nBytes = 0; !zi.eof() && nBytes < HZ_LOGCHUNK ; nBytes++, zi++)
               *i++ = *zi ;
           if (!nBytes)
               break ;
           m_pDataPtr[nBytes] = 0;
           rc = _write(nBytes) ;
       }
       m_Lock.Unlock() ;
   }
   return rc ;
}