1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
/***************************************************************************
rlog.cpp - description
-------------------
begin : Mon Sep 27 1999
copyright : (C) 1999 by Andreas Mustun
email : andrew@ribbonsoft.com
***************************************************************************/
/****************************************************************************
** rlog.cpp 1998/08/27 A. Mustun RibbonSoft
**
** Copyright (C) 1998 RibbonSoft. All rights reserved.
**
** Usage:
** ~~~~~~
** RLog* log = RLog::getRLog();
** -> returns always the same log object
** RLOG(value);
** RLog::getRLog()->device()->flush();
**
*****************************************************************************/
#include "rlog.h"
#include <qfile.h>
#include <qdatetime.h>
#include "rprgdef.h"
RLog* RLog::theOneAndOnlyRLog=0;
// Get the one and only RLog-Object:
// create a new one on first call
//
RLog*
RLog::getRLog()
{
if(theOneAndOnlyRLog==0) {
theOneAndOnlyRLog = new RLog;
}
return theOneAndOnlyRLog;
}
// Constructor:
//
RLog::RLog()
{
#ifdef DEF_RDEBUG
file = new QFile(DEF_DEBUGFILE);
// Clear File:
//
file->open(IO_WriteOnly);
file->close();
// Open File in append mode:
//
file->open(IO_WriteOnly|IO_Append);
setDevice(file);
#endif
}
// Destructor:
//
RLog::~RLog()
{
#ifdef DEF_RDEBUG
file->close();
#endif
}
// Log string values:
//
void
RLog::log(const char* _log)
{
#ifdef DEF_RDEBUG
*this << _log;
file->flush();
#endif
}
// Log int values:
//
void
RLog::log(int _log)
{
#ifdef DEF_RDEBUG
*this << _log;
file->flush();
#endif
}
// Log float values:
//
void
RLog::log(float _log)
{
#ifdef DEF_RDEBUG
*this << _log;
file->flush();
#endif
}
// Log char values:
//
void
RLog::log(char _log)
{
#ifdef DEF_RDEBUG
*this << _log;
file->flush();
#endif
}
// Log bool values:
//
#ifndef DEF_SOLARIS
void
RLog::log(bool _log)
{
#ifdef DEF_RDEBUG
if(_log) *this << "true";
else *this << "false";
file->flush();
#endif
}
#endif
// Log current Time:
//
void
RLog::logTime()
{
#ifdef DEF_RDEBUGTIME
QTime t = QTime::currentTime();
char buf[128];
sprintf(buf, "%03d", t.msec());
*this << "\n" << t.toString() << "." << buf;
file->flush();
#endif
}
// EOF3
|