// Data structure to keep track of log outputs for a given tagset. // Essentially a sorted linked list going from error level outputs // to outputs of finer levels. Keeps an index from each level to // the first node in the list for the corresponding level. // This allows a log message on, for example, info level to jump // straight into the list where the first info level output can // be found. The log message will then be printed on that output, // as well as all outputs in nodes that follow in the list (which // can be additional info level outputs and/or debug and trace outputs). // // Each instance keeps track of the number of current readers of the list. // To remove a node from the list the node must first be unlinked, // and the memory for that node can be freed whenever the removing // thread observes an active reader count of 0 (after unlinking it). class LogOutputList { private: struct LogOutputNode : public CHeapObj<mtLogging> {
LogOutput* _value;
LogOutputNode* _next;
LogLevelType _level;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.