/root/bitcoin/src/logging.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2009-2010 Satoshi Nakamoto |
2 | | // Copyright (c) 2009-present The Bitcoin Core developers |
3 | | // Distributed under the MIT software license, see the accompanying |
4 | | // file COPYING or http://www.opensource.org/licenses/mit-license.php. |
5 | | |
6 | | #ifndef BITCOIN_LOGGING_H |
7 | | #define BITCOIN_LOGGING_H |
8 | | |
9 | | #include <threadsafety.h> |
10 | | #include <tinyformat.h> |
11 | | #include <util/fs.h> |
12 | | #include <util/string.h> |
13 | | #include <util/time.h> |
14 | | |
15 | | #include <atomic> |
16 | | #include <cstdint> |
17 | | #include <functional> |
18 | | #include <list> |
19 | | #include <mutex> |
20 | | #include <string> |
21 | | #include <unordered_map> |
22 | | #include <vector> |
23 | | |
24 | | static const bool DEFAULT_LOGTIMEMICROS = false; |
25 | | static const bool DEFAULT_LOGIPS = false; |
26 | | static const bool DEFAULT_LOGTIMESTAMPS = true; |
27 | | static const bool DEFAULT_LOGTHREADNAMES = false; |
28 | | static const bool DEFAULT_LOGSOURCELOCATIONS = false; |
29 | | static constexpr bool DEFAULT_LOGLEVELALWAYS = false; |
30 | | extern const char * const DEFAULT_DEBUGLOGFILE; |
31 | | |
32 | | extern bool fLogIPs; |
33 | | |
34 | | struct LogCategory { |
35 | | std::string category; |
36 | | bool active; |
37 | | }; |
38 | | |
39 | | namespace BCLog { |
40 | | using CategoryMask = uint64_t; |
41 | | enum LogFlags : CategoryMask { |
42 | | NONE = CategoryMask{0}, |
43 | | NET = (CategoryMask{1} << 0), |
44 | | TOR = (CategoryMask{1} << 1), |
45 | | MEMPOOL = (CategoryMask{1} << 2), |
46 | | HTTP = (CategoryMask{1} << 3), |
47 | | BENCH = (CategoryMask{1} << 4), |
48 | | ZMQ = (CategoryMask{1} << 5), |
49 | | WALLETDB = (CategoryMask{1} << 6), |
50 | | RPC = (CategoryMask{1} << 7), |
51 | | ESTIMATEFEE = (CategoryMask{1} << 8), |
52 | | ADDRMAN = (CategoryMask{1} << 9), |
53 | | SELECTCOINS = (CategoryMask{1} << 10), |
54 | | REINDEX = (CategoryMask{1} << 11), |
55 | | CMPCTBLOCK = (CategoryMask{1} << 12), |
56 | | RAND = (CategoryMask{1} << 13), |
57 | | PRUNE = (CategoryMask{1} << 14), |
58 | | PROXY = (CategoryMask{1} << 15), |
59 | | MEMPOOLREJ = (CategoryMask{1} << 16), |
60 | | LIBEVENT = (CategoryMask{1} << 17), |
61 | | COINDB = (CategoryMask{1} << 18), |
62 | | QT = (CategoryMask{1} << 19), |
63 | | LEVELDB = (CategoryMask{1} << 20), |
64 | | VALIDATION = (CategoryMask{1} << 21), |
65 | | I2P = (CategoryMask{1} << 22), |
66 | | IPC = (CategoryMask{1} << 23), |
67 | | #ifdef DEBUG_LOCKCONTENTION |
68 | | LOCK = (CategoryMask{1} << 24), |
69 | | #endif |
70 | | BLOCKSTORAGE = (CategoryMask{1} << 25), |
71 | | TXRECONCILIATION = (CategoryMask{1} << 26), |
72 | | SCAN = (CategoryMask{1} << 27), |
73 | | TXPACKAGES = (CategoryMask{1} << 28), |
74 | | ALL = ~NONE, |
75 | | }; |
76 | | enum class Level { |
77 | | Trace = 0, // High-volume or detailed logging for development/debugging |
78 | | Debug, // Reasonably noisy logging, but still usable in production |
79 | | Info, // Default |
80 | | Warning, |
81 | | Error, |
82 | | }; |
83 | | constexpr auto DEFAULT_LOG_LEVEL{Level::Debug}; |
84 | | constexpr size_t DEFAULT_MAX_LOG_BUFFER{1'000'000}; // buffer up to 1MB of log data prior to StartLogging |
85 | | |
86 | | class Logger |
87 | | { |
88 | | public: |
89 | | struct BufferedLog { |
90 | | SystemClock::time_point now; |
91 | | std::chrono::seconds mocktime; |
92 | | std::string str, logging_function, source_file, threadname; |
93 | | int source_line; |
94 | | LogFlags category; |
95 | | Level level; |
96 | | }; |
97 | | |
98 | | private: |
99 | | mutable StdMutex m_cs; // Can not use Mutex from sync.h because in debug mode it would cause a deadlock when a potential deadlock was detected |
100 | | |
101 | | FILE* m_fileout GUARDED_BY(m_cs) = nullptr; |
102 | | std::list<BufferedLog> m_msgs_before_open GUARDED_BY(m_cs); |
103 | | bool m_buffering GUARDED_BY(m_cs) = true; //!< Buffer messages before logging can be started. |
104 | | size_t m_max_buffer_memusage GUARDED_BY(m_cs){DEFAULT_MAX_LOG_BUFFER}; |
105 | | size_t m_cur_buffer_memusage GUARDED_BY(m_cs){0}; |
106 | | size_t m_buffer_lines_discarded GUARDED_BY(m_cs){0}; |
107 | | |
108 | | //! Category-specific log level. Overrides `m_log_level`. |
109 | | std::unordered_map<LogFlags, Level> m_category_log_levels GUARDED_BY(m_cs); |
110 | | |
111 | | //! If there is no category-specific log level, all logs with a severity |
112 | | //! level lower than `m_log_level` will be ignored. |
113 | | std::atomic<Level> m_log_level{DEFAULT_LOG_LEVEL}; |
114 | | |
115 | | /** Log categories bitfield. */ |
116 | | std::atomic<CategoryMask> m_categories{BCLog::NONE}; |
117 | | |
118 | | void FormatLogStrInPlace(std::string& str, LogFlags category, Level level, std::string_view source_file, int source_line, std::string_view logging_function, std::string_view threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const; |
119 | | |
120 | | std::string LogTimestampStr(SystemClock::time_point now, std::chrono::seconds mocktime) const; |
121 | | |
122 | | /** Slots that connect to the print signal */ |
123 | | std::list<std::function<void(const std::string&)>> m_print_callbacks GUARDED_BY(m_cs) {}; |
124 | | |
125 | | /** Send a string to the log output (internal) */ |
126 | | void LogPrintStr_(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level) |
127 | | EXCLUSIVE_LOCKS_REQUIRED(m_cs); |
128 | | |
129 | | std::string GetLogPrefix(LogFlags category, Level level) const; |
130 | | |
131 | | public: |
132 | | bool m_print_to_console = false; |
133 | | bool m_print_to_file = false; |
134 | | |
135 | | bool m_log_timestamps = DEFAULT_LOGTIMESTAMPS; |
136 | | bool m_log_time_micros = DEFAULT_LOGTIMEMICROS; |
137 | | bool m_log_threadnames = DEFAULT_LOGTHREADNAMES; |
138 | | bool m_log_sourcelocations = DEFAULT_LOGSOURCELOCATIONS; |
139 | | bool m_always_print_category_level = DEFAULT_LOGLEVELALWAYS; |
140 | | |
141 | | fs::path m_file_path; |
142 | | std::atomic<bool> m_reopen_file{false}; |
143 | | |
144 | | /** Send a string to the log output */ |
145 | | void LogPrintStr(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level) |
146 | | EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
147 | | |
148 | | /** Returns whether logs will be written to any output */ |
149 | | bool Enabled() const EXCLUSIVE_LOCKS_REQUIRED(!m_cs) |
150 | 1 | { |
151 | 1 | StdLockGuard scoped_lock(m_cs); |
152 | 1 | return m_buffering || m_print_to_console || m_print_to_file || !m_print_callbacks.empty(); |
153 | 1 | } |
154 | | |
155 | | /** Connect a slot to the print signal and return the connection */ |
156 | | std::list<std::function<void(const std::string&)>>::iterator PushBackCallback(std::function<void(const std::string&)> fun) EXCLUSIVE_LOCKS_REQUIRED(!m_cs) |
157 | 0 | { |
158 | 0 | StdLockGuard scoped_lock(m_cs); |
159 | 0 | m_print_callbacks.push_back(std::move(fun)); |
160 | 0 | return --m_print_callbacks.end(); |
161 | 0 | } |
162 | | |
163 | | /** Delete a connection */ |
164 | | void DeleteCallback(std::list<std::function<void(const std::string&)>>::iterator it) EXCLUSIVE_LOCKS_REQUIRED(!m_cs) |
165 | 0 | { |
166 | 0 | StdLockGuard scoped_lock(m_cs); |
167 | 0 | m_print_callbacks.erase(it); |
168 | 0 | } |
169 | | |
170 | | /** Start logging (and flush all buffered messages) */ |
171 | | bool StartLogging() EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
172 | | /** Only for testing */ |
173 | | void DisconnectTestLogger() EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
174 | | |
175 | | /** Disable logging |
176 | | * This offers a slight speedup and slightly smaller memory usage |
177 | | * compared to leaving the logging system in its default state. |
178 | | * Mostly intended for libbitcoin-kernel apps that don't want any logging. |
179 | | * Should be used instead of StartLogging(). |
180 | | */ |
181 | | void DisableLogging() EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
182 | | |
183 | | void ShrinkDebugFile(); |
184 | | |
185 | | std::unordered_map<LogFlags, Level> CategoryLevels() const EXCLUSIVE_LOCKS_REQUIRED(!m_cs) |
186 | 0 | { |
187 | 0 | StdLockGuard scoped_lock(m_cs); |
188 | 0 | return m_category_log_levels; |
189 | 0 | } |
190 | | void SetCategoryLogLevel(const std::unordered_map<LogFlags, Level>& levels) EXCLUSIVE_LOCKS_REQUIRED(!m_cs) |
191 | 0 | { |
192 | 0 | StdLockGuard scoped_lock(m_cs); |
193 | 0 | m_category_log_levels = levels; |
194 | 0 | } |
195 | | bool SetCategoryLogLevel(std::string_view category_str, std::string_view level_str) EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
196 | | |
197 | 0 | Level LogLevel() const { return m_log_level.load(); } |
198 | 0 | void SetLogLevel(Level level) { m_log_level = level; } |
199 | | bool SetLogLevel(std::string_view level); |
200 | | |
201 | 0 | CategoryMask GetCategoryMask() const { return m_categories.load(); } |
202 | | |
203 | | void EnableCategory(LogFlags flag); |
204 | | bool EnableCategory(std::string_view str); |
205 | | void DisableCategory(LogFlags flag); |
206 | | bool DisableCategory(std::string_view str); |
207 | | |
208 | | bool WillLogCategory(LogFlags category) const; |
209 | | bool WillLogCategoryLevel(LogFlags category, Level level) const EXCLUSIVE_LOCKS_REQUIRED(!m_cs); |
210 | | |
211 | | /** Returns a vector of the log categories in alphabetical order. */ |
212 | | std::vector<LogCategory> LogCategoriesList() const; |
213 | | /** Returns a string with the log categories in alphabetical order. */ |
214 | | std::string LogCategoriesString() const |
215 | 0 | { |
216 | 0 | return util::Join(LogCategoriesList(), ", ", [&](const LogCategory& i) { return i.category; }); |
217 | 0 | }; |
218 | | |
219 | | //! Returns a string with all user-selectable log levels. |
220 | | std::string LogLevelsString() const; |
221 | | |
222 | | //! Returns the string representation of a log level. |
223 | | static std::string LogLevelToStr(BCLog::Level level); |
224 | | |
225 | | bool DefaultShrinkDebugFile() const; |
226 | | }; |
227 | | |
228 | | } // namespace BCLog |
229 | | |
230 | | BCLog::Logger& LogInstance(); |
231 | | |
232 | | /** Return true if log accepts specified category, at the specified level. */ |
233 | | static inline bool LogAcceptCategory(BCLog::LogFlags category, BCLog::Level level) |
234 | 137k | { |
235 | 137k | return LogInstance().WillLogCategoryLevel(category, level); |
236 | 137k | } Unexecuted instantiation: addrman.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: banman.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: connman.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: deserialize.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: i2p.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: net.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: net_permissions.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: netaddress.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: netbase_dns_lookup.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: node_eviction.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: p2p_handshake.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: process_message.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: process_messages.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: socks5.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: fees.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: notifications.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: parse_iso8601.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: scriptpubkeyman.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: spend.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: chainparams.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: coins.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: args.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: system.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: netbase.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: request.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: signingprovider.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: config.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: asmap.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: fs_helpers.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: sock.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: logging.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: random.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: coinselection.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: dump.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: migrate.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: receive.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: util.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: wallet.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: walletdb.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: walletutil.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: sqlite.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: db.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: external_signer_scriptpubkeyman.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: interfaces.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: load.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: feebumper.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: addresses.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: backup.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: encrypt.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: signmessage.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: transactions.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: setup_common.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: addrdb.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: blockencodings.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: dbwrapper.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: flatfile.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: headerssync.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: httpserver.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: init.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: coinstats.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: context.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: mapport.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: net_processing.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: netgroup.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: blockstorage.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: chainstate.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: chainstatemanager_args.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: kernel_notifications.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: mempool_args.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: mempool_persist.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: miner.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: timeoffsets.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE txdownloadman_impl.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Line | Count | Source | 234 | 36.8k | { | 235 | 36.8k | return LogInstance().WillLogCategoryLevel(category, level); | 236 | 36.8k | } |
Unexecuted instantiation: txreconciliation.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: noui.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: blockchain.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: node.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: server.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: sigcache.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: signet.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: torcontrol.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: txdb.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: txmempool.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE txorphanage.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Line | Count | Source | 234 | 100k | { | 235 | 100k | return LogInstance().WillLogCategoryLevel(category, level); | 236 | 100k | } |
Unexecuted instantiation: validation.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: validationinterface.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: httprpc.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: base.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: blockfilterindex.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: coinstatsindex.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: txindex.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: abort.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: utxo_snapshot.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: truc_policy.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: netif.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: pcp.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: common.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: net_types.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: batchpriority.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: thread.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE Unexecuted instantiation: exception.cpp:_ZL17LogAcceptCategoryN5BCLog8LogFlagsENS_5LevelE |
237 | | |
238 | | /** Return true if str parses as a log category and set the flag */ |
239 | | bool GetLogCategory(BCLog::LogFlags& flag, std::string_view str); |
240 | | |
241 | | template <typename... Args> |
242 | | inline void LogPrintFormatInternal(std::string_view logging_function, std::string_view source_file, const int source_line, const BCLog::LogFlags flag, const BCLog::Level level, util::ConstevalFormatString<sizeof...(Args)> fmt, const Args&... args) |
243 | 1 | { |
244 | 1 | if (LogInstance().Enabled()) { |
245 | 0 | std::string log_msg; |
246 | 0 | try { |
247 | 0 | log_msg = tfm::format(fmt, args...); |
248 | 0 | } catch (tinyformat::format_error& fmterr) { |
249 | 0 | log_msg = "Error \"" + std::string{fmterr.what()} + "\" while formatting log message: " + fmt.fmt; |
250 | 0 | } |
251 | 0 | LogInstance().LogPrintStr(log_msg, logging_function, source_file, source_line, flag, level); |
252 | 0 | } |
253 | 1 | } Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElliEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_S5_S5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEtEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJhEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEtS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_S5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt8__detail14_Quoted_stringIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEiEEvSt17basic_string_viewIcS5_ESC_iN5BCLog8LogFlagsENSD_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt8__detail14_Quoted_stringIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEEEvSt17basic_string_viewIcS5_ESC_iN5BCLog8LogFlagsENSD_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ _Z22LogPrintFormatInternalIJSt17basic_string_viewIcSt11char_traitsIcEEEEvS3_S3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Line | Count | Source | 243 | 1 | { | 244 | 1 | if (LogInstance().Enabled()) { | 245 | 0 | std::string log_msg; | 246 | 0 | try { | 247 | 0 | log_msg = tfm::format(fmt, args...); | 248 | 0 | } catch (tinyformat::format_error& fmterr) { | 249 | 0 | log_msg = "Error \"" + std::string{fmterr.what()} + "\" while formatting log message: " + fmt.fmt; | 250 | 0 | } | 251 | 0 | LogInstance().LogPrintStr(log_msg, logging_function, source_file, source_line, flag, level); | 252 | 0 | } | 253 | 1 | } |
Unexecuted instantiation: _Z22LogPrintFormatInternalIJiPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcEEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA7_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcS1_EEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA8_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA9_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA14_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA5_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA14_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA14_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcEEvSt17basic_string_viewIcS4_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA10_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA16_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA16_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmNSt8__detail14_Quoted_stringIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEEEvSt17basic_string_viewIcS5_ESC_iN5BCLog8LogFlagsENSD_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiiEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_iiEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_mEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJimNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiiEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmmmmEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEddEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmPKciEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA6_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJllmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJllEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlllEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJliEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA9_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJdEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA3_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjlEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS5_S5_lEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlbblEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_EEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA9_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cbEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmlEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA30_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJllmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJl12ServiceFlagsS0_EEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiiblEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6atomicIiES7_S5_blS5_S5_EEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_iSt6atomicIiElS5_S5_EEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJilEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_lEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmmlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKclEEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA20_clEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmjlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEilEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA15_clEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA17_cEEvSt17basic_string_viewIcS3_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_mmEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_lS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ilEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJilSt6atomicIiEEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6atomicImEmmEEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlhEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJljjEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA16_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA16_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjPKcS8_EEvSt17basic_string_viewIcS4_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKclEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJdlEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_cmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_lEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_clNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEilEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmiEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA19_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA19_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJ14ChainstateRoleiiEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJ14ChainstateRolemmliiiEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA15_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS6_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJN4node13BlockfileTypeENS0_15BlockfileCursorEEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEijEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJibiEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA22_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_cPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS6_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjmEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS6_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJimmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlllllEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJddmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlmlmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJdiiddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlbEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJidddddfddddddfddddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjjEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEllEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjmjjmjPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmdEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElPKcEEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmjEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJSt17basic_string_viewIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEEEEvS3_S3_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcS5_S5_EEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_jmmEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_liS5_S5_liEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmllEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmllEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_S5_iidmS5_ddjS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA27_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_PKcEEvSt17basic_string_viewIcS3_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA27_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEidS6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJdddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJjdddddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiddddEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA14_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA11_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA42_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJimmA13_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA42_cEEvSt17basic_string_viewIcS4_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJidEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJldEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_dEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA22_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA22_cmPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEdEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJiA13_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA42_cEEvSt17basic_string_viewIcS4_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJlfmEEvSt17basic_string_viewIcSt11char_traitsIcEES3_iN5BCLog8LogFlagsENS4_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJmmNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_iEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA24_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_PKcEEvSt17basic_string_viewIcS4_ESA_iN5BCLog8LogFlagsENSB_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_bEEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA16_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEvSt17basic_string_viewIcS5_ES9_iN5BCLog8LogFlagsENSA_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJPKcjmEEvSt17basic_string_viewIcSt11char_traitsIcEES5_iN5BCLog8LogFlagsENS6_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA21_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA7_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA31_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA27_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEhiEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_ciiEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEhiEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA12_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEhS6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA11_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA13_ciEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA19_cPKcEEvSt17basic_string_viewIcSt11char_traitsIcEES6_iN5BCLog8LogFlagsENS7_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA18_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA17_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvSt17basic_string_viewIcS4_ES8_iN5BCLog8LogFlagsENS9_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJA7_cEEvSt17basic_string_viewIcSt11char_traitsIcEES4_iN5BCLog8LogFlagsENS5_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS5_EEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ Unexecuted instantiation: _Z22LogPrintFormatInternalIJtNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvSt17basic_string_viewIcS3_ES7_iN5BCLog8LogFlagsENS8_5LevelEN4util21ConstevalFormatStringIXsZT_EEEDpRKT_ |
254 | | |
255 | 0 | #define LogPrintLevel_(category, level, ...) LogPrintFormatInternal(__func__, __FILE__, __LINE__, category, level, __VA_ARGS__) |
256 | | |
257 | | // Log unconditionally. |
258 | | // Be conservative when using functions that unconditionally log to debug.log! |
259 | | // It should not be the case that an inbound peer can fill up a user's storage |
260 | | // with debug.log entries. |
261 | 0 | #define LogInfo(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Info, __VA_ARGS__) |
262 | 0 | #define LogWarning(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Warning, __VA_ARGS__) |
263 | 0 | #define LogError(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Error, __VA_ARGS__) |
264 | | |
265 | | // Deprecated unconditional logging. |
266 | 0 | #define LogPrintf(...) LogInfo(__VA_ARGS__) |
267 | | |
268 | | // Use a macro instead of a function for conditional logging to prevent |
269 | | // evaluating arguments when logging for the category is not enabled. |
270 | | |
271 | | // Log conditionally, prefixing the output with the passed category name and severity level. |
272 | | #define LogPrintLevel(category, level, ...) \ |
273 | 137k | do { \ |
274 | 137k | if (LogAcceptCategory((category), (level))) { \ |
275 | 0 | LogPrintLevel_(category, level, __VA_ARGS__); \ |
276 | 0 | } \ |
277 | 137k | } while (0) |
278 | | |
279 | | // Log conditionally, prefixing the output with the passed category name. |
280 | 137k | #define LogDebug(category, ...) LogPrintLevel(category, BCLog::Level::Debug, __VA_ARGS__) |
281 | 0 | #define LogTrace(category, ...) LogPrintLevel(category, BCLog::Level::Trace, __VA_ARGS__) |
282 | | |
283 | | #endif // BITCOIN_LOGGING_H |