![]() |
GemaCoreLib
The GeMA Core library
|
Auxiliary structure with global Log configuration. More...
Public Member Functions | |
GmLogContextData () | |
Default constructor. | |
![]() | |
virtual const QMetaObject * | metaObject () const const |
virtual void * | qt_metacast (const char *) |
virtual int | qt_metacall (QMetaObject::Call, int, void **) |
QObject (QObject *parent) | |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
QString | objectName () const const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
bool | signalsBlocked () const const |
bool | blockSignals (bool block) |
QThread * | thread () const const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
const QObjectList & | children () const const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
void | dumpObjectTree () const const |
void | dumpObjectInfo () const const |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const const |
QList< QByteArray > | dynamicPropertyNames () const const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
bool | inherits (const char *className) const const |
void | deleteLater () |
Public Attributes | |
bool | logToConsole |
Should we log to the console? | |
bool | logToSignal |
Should we emit a signal at each logged message? | |
FILE * | logFile |
Log file handle if logging to files. | |
QStringList | internalLogList |
Internal storage for log messages if the user didn't supplied his own target in GmSetStringListLogging() | |
QStringList * | logList |
If non NULL, log messages will be added to this list. Can point to a user list or to internalLogList. | |
bool | fileFlush |
Flush at every file write? | |
bool | showLogger |
Should we show the logger name before each message? | |
bool | showTid |
Should we show the thread id before each message? | |
bool | hideRepeatedWarnings |
Should we skip warnings already emitted? | |
bool | decorateValueTables |
Should we add tags decorating value tables to aid regression tests? Mode stored in the logger and used by the code printing tables... | |
QtMemUsage | lastMemoryMeasure |
Global storing the last memory measured by a call to QtGetCurrentMemoryUsage() | |
GmLogCategory | panicLogger |
The global "panic" logger, usually used to report memory allocation fails deep inside class structures with no easy access to another logger. | |
QMutex | logMutex |
A mutex for synchronizing access to the logList, warningCache, lastMemoryMeasure and timeStatisticsMap. More... | |
QList< QPair< QString, bool > > | rulesList |
List of rules defining which logging levels are active. | |
QSet< quint32 > | warningCache |
A cache to store already emitted warning messages when hideRepeatedWarnings is set to true. The stored value is a hash code of the given string. We DON'T store the strings, since the probability of colisions is minimum, the cost of storing every message can be high (imagine a warning that includes a node number and is emmited for every node in a million nodes mesh...) and the result of a collision, that probably will never happend, has minimum impact (the worst that can happend is not showing a warning message) | |
QMap< QString, QPair< qint64, unsigned > > | timeStatisticsMap |
A map collecting time statistics grouped by the message given to the GmTimeMsg constructor. Each pair contains the cumulative time and the number of times that GmTimeMsg wass called for the given message key. | |
Additional Inherited Members | |
![]() | |
void | logMessage (int level, QString msg) |
![]() | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
![]() | |
QObject * | sender () const const |
int | senderSignalIndex () const const |
int | receivers (const char *signal) const const |
bool | isSignalConnected (const QMetaMethod &signal) const const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
![]() | |
objectName | |
Auxiliary structure with global Log configuration.
QMutex GmLogContextData::logMutex |
A mutex for synchronizing access to the logList, warningCache, lastMemoryMeasure and timeStatisticsMap.
Keep in mind that access to the console and to the logFile don't need to be protected as fprintf() is thread safe in both Windows and GCC (required by POSIX standard)
In princple, this single lock can be split in 4 locks, one for each of the protected variables. This can enhance concurrency but doesn't seems really necessary...