Coverage Report

Created: 2024-10-29 12:15

/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