syslog DebugChannel More...
Public Types | |
using | EarlyMessages = std::unique_ptr< CompiledDebugMessages > |
Public Member Functions | |
SyslogChannel () | |
void | markOpened () |
bool | collectingEarlyMessages () const |
whether we are still expecting (and buffering) early messages More... | |
void | stopEarlyMessageCollection () |
end early message buffering, logging any saved messages More... | |
EarlyMessages | releaseEarlyMessages () |
void | log (const DebugMessageHeader &, const CompiledDebugMessageBody &) |
Protected Member Functions | |
bool | shouldWrite (const DebugMessageHeader &) const final |
void | write (const DebugMessageHeader &, const CompiledDebugMessageBody &) final |
write the corresponding debugs() message into the channel More... | |
void | saveMessage (const DebugMessageHeader &, const CompiledDebugMessageBody &) |
stores the given early message (if possible) or forgets it (otherwise) More... | |
void | writeToStream (FILE &, const DebugMessageHeader &, const CompiledDebugMessageBody &) |
Formats a validated debugs() record and writes it to the given FILE. More... | |
void | noteWritten (const DebugMessageHeader &) |
reacts to a written a debugs() message More... | |
Static Protected Member Functions | |
static void | StopSavingAndLog (DebugChannel &, DebugChannel *=nullptr) |
stop saving and log() any "early" messages, in recordNumber order More... | |
Protected Attributes | |
const char *const | name = nullptr |
unique channel label for debugging More... | |
DebugRecordCount | written = 0 |
the number of messages sent to the underlying channel so far More... | |
DebugRecordCount | lastWrittenRecordNumber = 0 |
DebugMessageHeader::recordNumber of the last message we wrote. More... | |
EarlyMessages | earlyMessages |
Private Attributes | |
bool | opened = false |
whether openlog() was called More... | |
Detailed Description
Member Typedef Documentation
◆ EarlyMessages
|
inherited |
Constructor & Destructor Documentation
◆ SyslogChannel()
Member Function Documentation
◆ collectingEarlyMessages()
|
inlineinherited |
Definition at line 159 of file debug.cc.
References DebugChannel::earlyMessages.
Referenced by DebugModule::prepareToDie().
◆ log()
|
inherited |
Write the message to the channel if the channel accepts (such) messages. This writing may be delayed until the channel configuration is settled.
Definition at line 536 of file debug.cc.
References DebugChannel::lastWrittenRecordNumber, DebugMessageHeader::recordNumber, DebugChannel::saveMessage(), DebugChannel::shouldWrite(), DebugChannel::stopEarlyMessageCollection(), and DebugChannel::write().
Referenced by DebugModule::log().
◆ markOpened()
|
inline |
◆ noteWritten()
|
protectedinherited |
Definition at line 622 of file debug.cc.
References DebugChannel::lastWrittenRecordNumber, DebugMessageHeader::recordNumber, and DebugChannel::written.
Referenced by DebugChannel::writeToStream().
◆ releaseEarlyMessages()
|
inlineinherited |
end early message buffering, without logging any saved messages
- Returns
- (a possibly empty container with) saved messages or nil
Definition at line 166 of file debug.cc.
References DebugChannel::earlyMessages.
Referenced by DebugChannel::StopSavingAndLog().
◆ saveMessage()
|
protectedinherited |
Definition at line 593 of file debug.cc.
References assert, DebugChannel::earlyMessages, EarlyMessagesLevel, and DebugMessageHeader::level.
Referenced by DebugChannel::log().
◆ shouldWrite()
|
finalprotectedvirtual |
whether we should write() the corresponding debugs() message now (assumes some higher-level code applied cache.log section/level filter)
Implements DebugChannel.
Definition at line 1070 of file debug.cc.
References assert, DBG_IMPORTANT, DebugMessageHeader::forceAlert, DebugMessageHeader::level, Debug::log_syslog, and opened.
◆ stopEarlyMessageCollection()
|
inherited |
Definition at line 528 of file debug.cc.
References DebugChannel::earlyMessages, and DebugChannel::StopSavingAndLog().
Referenced by DebugChannel::log(), DebugModule::prepareToDie(), Debug::SettleStderr(), Debug::SettleSyslog(), Debug::StopCacheLogUse(), and DebugModule::useCacheLog().
◆ StopSavingAndLog()
|
staticprotectedinherited |
Definition at line 568 of file debug.cc.
References assert, debugs, CompiledDebugMessage::header, DebugChannel::name, DebugMessageHeader::recordNumber, DebugChannel::releaseEarlyMessages(), and DebugChannel::written.
Referenced by DebugChannel::stopEarlyMessageCollection(), and StderrChannel::takeOver().
◆ write()
|
finalprotectedvirtual |
◆ writeToStream()
|
protectedinherited |
Definition at line 612 of file debug.cc.
References debugLogTime(), DebugChannel::noteWritten(), ProcessLabel, and DebugMessageHeader::timestamp.
Referenced by CacheLogChannel::write(), and StderrChannel::write().
Member Data Documentation
◆ earlyMessages
|
protectedinherited |
debugs() messages waiting for the channel configuration to settle (and the channel to open) so that their eligibility for logging can be determined (and the messages can be actually written somewhere)
Definition at line 234 of file debug.cc.
Referenced by DebugChannel::collectingEarlyMessages(), DebugChannel::releaseEarlyMessages(), DebugChannel::saveMessage(), and DebugChannel::stopEarlyMessageCollection().
◆ lastWrittenRecordNumber
|
protectedinherited |
Definition at line 229 of file debug.cc.
Referenced by DebugChannel::log(), and DebugChannel::noteWritten().
◆ name
|
protectedinherited |
Definition at line 223 of file debug.cc.
Referenced by DebugChannel::StopSavingAndLog().
◆ opened
|
private |
Definition at line 288 of file debug.cc.
Referenced by markOpened(), and shouldWrite().
◆ written
|
protectedinherited |
Definition at line 226 of file debug.cc.
Referenced by DebugChannel::noteWritten(), and DebugChannel::StopSavingAndLog().
The documentation for this class was generated from the following file:
- src/debug/debug.cc