![]() |
PIVX Core
5.6.99
P2P Digital Currency
|
#include "fs.h"#include "tinyformat.h"#include <atomic>#include <cstdint>#include <list>#include <mutex>#include <vector>Go to the source code of this file.
Classes | |
| struct | CLogCategoryActive |
| class | BCLog::Logger |
| class | CBatchedLogger |
| PIVX. More... | |
Namespaces | |
| BCLog | |
Macros | |
| #define | LogPrint(category, ...) |
Enumerations | |
| enum | BCLog::LogFlags : uint32_t { BCLog::NONE = 0 , BCLog::NET = (1 << 0) , BCLog::TOR = (1 << 1) , BCLog::MEMPOOL = (1 << 2) , BCLog::HTTP = (1 << 3) , BCLog::BENCHMARK = (1 << 4) , BCLog::ZMQ = (1 << 5) , BCLog::DB = (1 << 6) , BCLog::RPC = (1 << 7) , BCLog::ESTIMATEFEE = (1 << 8) , BCLog::ADDRMAN = (1 << 9) , BCLog::REINDEX = (1 << 10) , BCLog::PROXY = (1 << 11) , BCLog::MEMPOOLREJ = (1 << 12) , BCLog::LIBEVENT = (1 << 13) , BCLog::COINDB = (1 << 14) , BCLog::QT = (1 << 15) , BCLog::LEVELDB = (1 << 16) , BCLog::STAKING = (1 << 17) , BCLog::MASTERNODE = (1 << 18) , BCLog::MNBUDGET = (1 << 19) , BCLog::MNPING = (1 << 20) , BCLog::LEGACYZC = (1 << 21) , BCLog::SAPLING = (1 << 22) , BCLog::SPORKS = (1 << 23) , BCLog::VALIDATION = (1 << 24) , BCLog::LLMQ = (1 << 25) , BCLog::NET_MN = (1 << 26) , BCLog::DKG = (1 << 27) , BCLog::CHAINLOCKS = (1 << 28) , BCLog::ALL = ~(uint32_t)0 } |
Functions | |
| std::string | ListLogCategories () |
| Returns a string with the supported log categories. More... | |
| std::vector< CLogCategoryActive > | ListActiveLogCategories () |
| Returns a vector of the active log categories. More... | |
| bool | GetLogCategory (BCLog::LogFlags &flag, const std::string &str) |
| Return true if str parses as a log category and set the flag. More... | |
Variables | |
| const char *const | DEFAULT_DEBUGLOGFILE |
| bool | fLogIPs |
| BCLog::Logger *const | g_logger |
| NOTE: the logger instances is leaked on exit. More... | |
| #define LogPrint | ( | category, | |
| ... | |||
| ) |
| bool GetLogCategory | ( | BCLog::LogFlags & | flag, |
| const std::string & | str | ||
| ) |
Return true if str parses as a log category and set the flag.
Definition at line 133 of file logging.cpp.
| std::vector<CLogCategoryActive> ListActiveLogCategories | ( | ) |
Returns a vector of the active log categories.
Definition at line 163 of file logging.cpp.
| std::string ListLogCategories | ( | ) |
Returns a string with the supported log categories.
Definition at line 148 of file logging.cpp.
|
extern |
Definition at line 11 of file logging.cpp.
|
extern |
Definition at line 28 of file logging.cpp.
|
extern |
NOTE: the logger instances is leaked on exit.
This is ugly, but will be cleaned up by the OS/libc. Defining a logger as a global object doesn't work since the order of destruction of static/global objects is undefined. Consider if the logger gets destroyed, and then some later destructor calls LogPrintf, maybe indirectly, and you get a core dump at shutdown trying to access the logger. When the shutdown sequence is fully audited and tested, explicit destruction of these objects can be implemented by changing this from a raw pointer to a std::unique_ptr.
This method of initialization was originally introduced in bitcoin@ee3374234c60aba2cc4c5cd5cac1c0aefc2d817c.
Definition at line 26 of file logging.cpp.