Bitcoin Core 30.99.0
P2P Digital Currency
logging.h
Go to the documentation of this file.
1// Copyright (c) 2019-2022 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_TEST_UTIL_LOGGING_H
6#define BITCOIN_TEST_UTIL_LOGGING_H
7
8#include <util/macros.h>
9
10#include <functional>
11#include <list>
12#include <string>
13
15{
16public:
26 using MatchFn = std::function<bool(const std::string* line)>;
27
28 explicit DebugLogHelper(std::string message, MatchFn match = [](const std::string*){ return true; });
29
32
34
35private:
36 const std::string m_message;
37 bool m_found{false};
38 std::list<std::function<void(const std::string&)>>::iterator m_print_connection;
40};
41
42#define ASSERT_DEBUG_LOG(message) DebugLogHelper UNIQUE_NAME(debugloghelper)(message)
43
44#endif // BITCOIN_TEST_UTIL_LOGGING_H
DebugLogHelper(const DebugLogHelper &)=delete
std::list< std::function< void(conststd::string &)> >::iterator m_print_connection
Definition: logging.h:38
std::function< bool(const std::string *line)> MatchFn
Custom match checking function.
Definition: logging.h:26
MatchFn m_match
Definition: logging.h:39
DebugLogHelper(std::string message, MatchFn match=[](const std::string *){ return true;})
Definition: logging.cpp:14
const std::string m_message
Definition: logging.h:36
DebugLogHelper & operator=(const DebugLogHelper &)=delete
bool m_found
Definition: logging.h:37