Factor out logging (#1262)
This commit is contained in:
parent
84eba68088
commit
ca254e573d
5 changed files with 276 additions and 261 deletions
|
@ -24,6 +24,8 @@ add_library (node
|
|||
common.cpp
|
||||
lmdb.cpp
|
||||
lmdb.hpp
|
||||
logging.cpp
|
||||
logging.hpp
|
||||
node.hpp
|
||||
node.cpp
|
||||
openclwork.cpp
|
||||
|
|
215
rai/node/logging.cpp
Normal file
215
rai/node/logging.cpp
Normal file
|
@ -0,0 +1,215 @@
|
|||
#include <boost/log/expressions.hpp>
|
||||
#include <boost/log/utility/setup/common_attributes.hpp>
|
||||
#include <boost/log/utility/setup/console.hpp>
|
||||
#include <boost/log/utility/setup/file.hpp>
|
||||
#include <rai/node/logging.hpp>
|
||||
|
||||
rai::logging::logging () :
|
||||
ledger_logging_value (false),
|
||||
ledger_duplicate_logging_value (false),
|
||||
vote_logging_value (false),
|
||||
network_logging_value (true),
|
||||
network_message_logging_value (false),
|
||||
network_publish_logging_value (false),
|
||||
network_packet_logging_value (false),
|
||||
network_keepalive_logging_value (false),
|
||||
network_node_id_handshake_logging_value (false),
|
||||
node_lifetime_tracing_value (false),
|
||||
insufficient_work_logging_value (true),
|
||||
log_rpc_value (true),
|
||||
bulk_pull_logging_value (false),
|
||||
work_generation_time_value (true),
|
||||
log_to_cerr_value (false),
|
||||
max_size (16 * 1024 * 1024),
|
||||
rotation_size (4 * 1024 * 1024),
|
||||
flush (true)
|
||||
{
|
||||
}
|
||||
|
||||
void rai::logging::init (boost::filesystem::path const & application_path_a)
|
||||
{
|
||||
static std::atomic_flag logging_already_added = ATOMIC_FLAG_INIT;
|
||||
if (!logging_already_added.test_and_set ())
|
||||
{
|
||||
boost::log::add_common_attributes ();
|
||||
if (log_to_cerr ())
|
||||
{
|
||||
boost::log::add_console_log (std::cerr, boost::log::keywords::format = "[%TimeStamp%]: %Message%");
|
||||
}
|
||||
boost::log::add_file_log (boost::log::keywords::target = application_path_a / "log", boost::log::keywords::file_name = application_path_a / "log" / "log_%Y-%m-%d_%H-%M-%S.%N.log", boost::log::keywords::rotation_size = rotation_size, boost::log::keywords::auto_flush = flush, boost::log::keywords::scan_method = boost::log::sinks::file::scan_method::scan_matching, boost::log::keywords::max_size = max_size, boost::log::keywords::format = "[%TimeStamp%]: %Message%");
|
||||
}
|
||||
}
|
||||
|
||||
void rai::logging::serialize_json (boost::property_tree::ptree & tree_a) const
|
||||
{
|
||||
tree_a.put ("version", "4");
|
||||
tree_a.put ("ledger", ledger_logging_value);
|
||||
tree_a.put ("ledger_duplicate", ledger_duplicate_logging_value);
|
||||
tree_a.put ("vote", vote_logging_value);
|
||||
tree_a.put ("network", network_logging_value);
|
||||
tree_a.put ("network_message", network_message_logging_value);
|
||||
tree_a.put ("network_publish", network_publish_logging_value);
|
||||
tree_a.put ("network_packet", network_packet_logging_value);
|
||||
tree_a.put ("network_keepalive", network_keepalive_logging_value);
|
||||
tree_a.put ("network_node_id_handshake", network_node_id_handshake_logging_value);
|
||||
tree_a.put ("node_lifetime_tracing", node_lifetime_tracing_value);
|
||||
tree_a.put ("insufficient_work", insufficient_work_logging_value);
|
||||
tree_a.put ("log_rpc", log_rpc_value);
|
||||
tree_a.put ("bulk_pull", bulk_pull_logging_value);
|
||||
tree_a.put ("work_generation_time", work_generation_time_value);
|
||||
tree_a.put ("log_to_cerr", log_to_cerr_value);
|
||||
tree_a.put ("max_size", max_size);
|
||||
tree_a.put ("rotation_size", rotation_size);
|
||||
tree_a.put ("flush", flush);
|
||||
}
|
||||
|
||||
bool rai::logging::upgrade_json (unsigned version_a, boost::property_tree::ptree & tree_a)
|
||||
{
|
||||
auto result (false);
|
||||
switch (version_a)
|
||||
{
|
||||
case 1:
|
||||
tree_a.put ("vote", vote_logging_value);
|
||||
tree_a.put ("version", "2");
|
||||
result = true;
|
||||
case 2:
|
||||
tree_a.put ("rotation_size", "4194304");
|
||||
tree_a.put ("flush", "true");
|
||||
tree_a.put ("version", "3");
|
||||
result = true;
|
||||
case 3:
|
||||
tree_a.put ("network_node_id_handshake", "false");
|
||||
tree_a.put ("version", "4");
|
||||
result = true;
|
||||
case 4:
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error ("Unknown logging_config version");
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool rai::logging::deserialize_json (bool & upgraded_a, boost::property_tree::ptree & tree_a)
|
||||
{
|
||||
auto result (false);
|
||||
try
|
||||
{
|
||||
auto version_l (tree_a.get_optional<std::string> ("version"));
|
||||
if (!version_l)
|
||||
{
|
||||
tree_a.put ("version", "1");
|
||||
version_l = "1";
|
||||
auto work_peers_l (tree_a.get_child_optional ("work_peers"));
|
||||
if (!work_peers_l)
|
||||
{
|
||||
tree_a.add_child ("work_peers", boost::property_tree::ptree ());
|
||||
}
|
||||
upgraded_a = true;
|
||||
}
|
||||
upgraded_a |= upgrade_json (std::stoull (version_l.get ()), tree_a);
|
||||
ledger_logging_value = tree_a.get<bool> ("ledger");
|
||||
ledger_duplicate_logging_value = tree_a.get<bool> ("ledger_duplicate");
|
||||
vote_logging_value = tree_a.get<bool> ("vote");
|
||||
network_logging_value = tree_a.get<bool> ("network");
|
||||
network_message_logging_value = tree_a.get<bool> ("network_message");
|
||||
network_publish_logging_value = tree_a.get<bool> ("network_publish");
|
||||
network_packet_logging_value = tree_a.get<bool> ("network_packet");
|
||||
network_keepalive_logging_value = tree_a.get<bool> ("network_keepalive");
|
||||
network_node_id_handshake_logging_value = tree_a.get<bool> ("network_node_id_handshake");
|
||||
node_lifetime_tracing_value = tree_a.get<bool> ("node_lifetime_tracing");
|
||||
insufficient_work_logging_value = tree_a.get<bool> ("insufficient_work");
|
||||
log_rpc_value = tree_a.get<bool> ("log_rpc");
|
||||
bulk_pull_logging_value = tree_a.get<bool> ("bulk_pull");
|
||||
work_generation_time_value = tree_a.get<bool> ("work_generation_time");
|
||||
log_to_cerr_value = tree_a.get<bool> ("log_to_cerr");
|
||||
max_size = tree_a.get<uintmax_t> ("max_size");
|
||||
rotation_size = tree_a.get<uintmax_t> ("rotation_size", 4194304);
|
||||
flush = tree_a.get<bool> ("flush", true);
|
||||
}
|
||||
catch (std::runtime_error const &)
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool rai::logging::ledger_logging () const
|
||||
{
|
||||
return ledger_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::ledger_duplicate_logging () const
|
||||
{
|
||||
return ledger_logging () && ledger_duplicate_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::vote_logging () const
|
||||
{
|
||||
return vote_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_logging () const
|
||||
{
|
||||
return network_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_message_logging () const
|
||||
{
|
||||
return network_logging () && network_message_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_publish_logging () const
|
||||
{
|
||||
return network_logging () && network_publish_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_packet_logging () const
|
||||
{
|
||||
return network_logging () && network_packet_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_keepalive_logging () const
|
||||
{
|
||||
return network_logging () && network_keepalive_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_node_id_handshake_logging () const
|
||||
{
|
||||
return network_logging () && network_node_id_handshake_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::node_lifetime_tracing () const
|
||||
{
|
||||
return node_lifetime_tracing_value;
|
||||
}
|
||||
|
||||
bool rai::logging::insufficient_work_logging () const
|
||||
{
|
||||
return network_logging () && insufficient_work_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::log_rpc () const
|
||||
{
|
||||
return network_logging () && log_rpc_value;
|
||||
}
|
||||
|
||||
bool rai::logging::bulk_pull_logging () const
|
||||
{
|
||||
return network_logging () && bulk_pull_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::callback_logging () const
|
||||
{
|
||||
return network_logging ();
|
||||
}
|
||||
|
||||
bool rai::logging::work_generation_time () const
|
||||
{
|
||||
return work_generation_time_value;
|
||||
}
|
||||
|
||||
bool rai::logging::log_to_cerr () const
|
||||
{
|
||||
return log_to_cerr_value;
|
||||
}
|
56
rai/node/logging.hpp
Normal file
56
rai/node/logging.hpp
Normal file
|
@ -0,0 +1,56 @@
|
|||
#pragma once
|
||||
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/log/sources/logger.hpp>
|
||||
#include <boost/log/trivial.hpp>
|
||||
#include <boost/property_tree/ptree.hpp>
|
||||
#include <cstdint>
|
||||
|
||||
namespace rai
|
||||
{
|
||||
class logging
|
||||
{
|
||||
public:
|
||||
logging ();
|
||||
void serialize_json (boost::property_tree::ptree &) const;
|
||||
bool deserialize_json (bool &, boost::property_tree::ptree &);
|
||||
bool upgrade_json (unsigned, boost::property_tree::ptree &);
|
||||
bool ledger_logging () const;
|
||||
bool ledger_duplicate_logging () const;
|
||||
bool vote_logging () const;
|
||||
bool network_logging () const;
|
||||
bool network_message_logging () const;
|
||||
bool network_publish_logging () const;
|
||||
bool network_packet_logging () const;
|
||||
bool network_keepalive_logging () const;
|
||||
bool network_node_id_handshake_logging () const;
|
||||
bool node_lifetime_tracing () const;
|
||||
bool insufficient_work_logging () const;
|
||||
bool log_rpc () const;
|
||||
bool bulk_pull_logging () const;
|
||||
bool callback_logging () const;
|
||||
bool work_generation_time () const;
|
||||
bool log_to_cerr () const;
|
||||
void init (boost::filesystem::path const &);
|
||||
|
||||
bool ledger_logging_value;
|
||||
bool ledger_duplicate_logging_value;
|
||||
bool vote_logging_value;
|
||||
bool network_logging_value;
|
||||
bool network_message_logging_value;
|
||||
bool network_publish_logging_value;
|
||||
bool network_packet_logging_value;
|
||||
bool network_keepalive_logging_value;
|
||||
bool network_node_id_handshake_logging_value;
|
||||
bool node_lifetime_tracing_value;
|
||||
bool insufficient_work_logging_value;
|
||||
bool log_rpc_value;
|
||||
bool bulk_pull_logging_value;
|
||||
bool work_generation_time_value;
|
||||
bool log_to_cerr_value;
|
||||
bool flush;
|
||||
uintmax_t max_size;
|
||||
uintmax_t rotation_size;
|
||||
boost::log::sources::logger_mt log;
|
||||
};
|
||||
}
|
|
@ -10,10 +10,6 @@
|
|||
#include <future>
|
||||
#include <sstream>
|
||||
|
||||
#include <boost/log/expressions.hpp>
|
||||
#include <boost/log/utility/setup/common_attributes.hpp>
|
||||
#include <boost/log/utility/setup/console.hpp>
|
||||
#include <boost/log/utility/setup/file.hpp>
|
||||
#include <boost/polymorphic_cast.hpp>
|
||||
#include <boost/property_tree/json_parser.hpp>
|
||||
|
||||
|
@ -763,216 +759,6 @@ void rai::alarm::add (std::chrono::steady_clock::time_point const & wakeup_a, st
|
|||
condition.notify_all ();
|
||||
}
|
||||
|
||||
rai::logging::logging () :
|
||||
ledger_logging_value (false),
|
||||
ledger_duplicate_logging_value (false),
|
||||
vote_logging_value (false),
|
||||
network_logging_value (true),
|
||||
network_message_logging_value (false),
|
||||
network_publish_logging_value (false),
|
||||
network_packet_logging_value (false),
|
||||
network_keepalive_logging_value (false),
|
||||
network_node_id_handshake_logging_value (false),
|
||||
node_lifetime_tracing_value (false),
|
||||
insufficient_work_logging_value (true),
|
||||
log_rpc_value (true),
|
||||
bulk_pull_logging_value (false),
|
||||
work_generation_time_value (true),
|
||||
log_to_cerr_value (false),
|
||||
max_size (16 * 1024 * 1024),
|
||||
rotation_size (4 * 1024 * 1024),
|
||||
flush (true)
|
||||
{
|
||||
}
|
||||
|
||||
void rai::logging::init (boost::filesystem::path const & application_path_a)
|
||||
{
|
||||
static std::atomic_flag logging_already_added = ATOMIC_FLAG_INIT;
|
||||
if (!logging_already_added.test_and_set ())
|
||||
{
|
||||
boost::log::add_common_attributes ();
|
||||
if (log_to_cerr ())
|
||||
{
|
||||
boost::log::add_console_log (std::cerr, boost::log::keywords::format = "[%TimeStamp%]: %Message%");
|
||||
}
|
||||
boost::log::add_file_log (boost::log::keywords::target = application_path_a / "log", boost::log::keywords::file_name = application_path_a / "log" / "log_%Y-%m-%d_%H-%M-%S.%N.log", boost::log::keywords::rotation_size = rotation_size, boost::log::keywords::auto_flush = flush, boost::log::keywords::scan_method = boost::log::sinks::file::scan_method::scan_matching, boost::log::keywords::max_size = max_size, boost::log::keywords::format = "[%TimeStamp%]: %Message%");
|
||||
}
|
||||
}
|
||||
|
||||
void rai::logging::serialize_json (boost::property_tree::ptree & tree_a) const
|
||||
{
|
||||
tree_a.put ("version", "4");
|
||||
tree_a.put ("ledger", ledger_logging_value);
|
||||
tree_a.put ("ledger_duplicate", ledger_duplicate_logging_value);
|
||||
tree_a.put ("vote", vote_logging_value);
|
||||
tree_a.put ("network", network_logging_value);
|
||||
tree_a.put ("network_message", network_message_logging_value);
|
||||
tree_a.put ("network_publish", network_publish_logging_value);
|
||||
tree_a.put ("network_packet", network_packet_logging_value);
|
||||
tree_a.put ("network_keepalive", network_keepalive_logging_value);
|
||||
tree_a.put ("network_node_id_handshake", network_node_id_handshake_logging_value);
|
||||
tree_a.put ("node_lifetime_tracing", node_lifetime_tracing_value);
|
||||
tree_a.put ("insufficient_work", insufficient_work_logging_value);
|
||||
tree_a.put ("log_rpc", log_rpc_value);
|
||||
tree_a.put ("bulk_pull", bulk_pull_logging_value);
|
||||
tree_a.put ("work_generation_time", work_generation_time_value);
|
||||
tree_a.put ("log_to_cerr", log_to_cerr_value);
|
||||
tree_a.put ("max_size", max_size);
|
||||
tree_a.put ("rotation_size", rotation_size);
|
||||
tree_a.put ("flush", flush);
|
||||
}
|
||||
|
||||
bool rai::logging::upgrade_json (unsigned version_a, boost::property_tree::ptree & tree_a)
|
||||
{
|
||||
auto result (false);
|
||||
switch (version_a)
|
||||
{
|
||||
case 1:
|
||||
tree_a.put ("vote", vote_logging_value);
|
||||
tree_a.put ("version", "2");
|
||||
result = true;
|
||||
case 2:
|
||||
tree_a.put ("rotation_size", "4194304");
|
||||
tree_a.put ("flush", "true");
|
||||
tree_a.put ("version", "3");
|
||||
result = true;
|
||||
case 3:
|
||||
tree_a.put ("network_node_id_handshake", "false");
|
||||
tree_a.put ("version", "4");
|
||||
result = true;
|
||||
case 4:
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error ("Unknown logging_config version");
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool rai::logging::deserialize_json (bool & upgraded_a, boost::property_tree::ptree & tree_a)
|
||||
{
|
||||
auto result (false);
|
||||
try
|
||||
{
|
||||
auto version_l (tree_a.get_optional<std::string> ("version"));
|
||||
if (!version_l)
|
||||
{
|
||||
tree_a.put ("version", "1");
|
||||
version_l = "1";
|
||||
auto work_peers_l (tree_a.get_child_optional ("work_peers"));
|
||||
if (!work_peers_l)
|
||||
{
|
||||
tree_a.add_child ("work_peers", boost::property_tree::ptree ());
|
||||
}
|
||||
upgraded_a = true;
|
||||
}
|
||||
upgraded_a |= upgrade_json (std::stoull (version_l.get ()), tree_a);
|
||||
ledger_logging_value = tree_a.get<bool> ("ledger");
|
||||
ledger_duplicate_logging_value = tree_a.get<bool> ("ledger_duplicate");
|
||||
vote_logging_value = tree_a.get<bool> ("vote");
|
||||
network_logging_value = tree_a.get<bool> ("network");
|
||||
network_message_logging_value = tree_a.get<bool> ("network_message");
|
||||
network_publish_logging_value = tree_a.get<bool> ("network_publish");
|
||||
network_packet_logging_value = tree_a.get<bool> ("network_packet");
|
||||
network_keepalive_logging_value = tree_a.get<bool> ("network_keepalive");
|
||||
network_node_id_handshake_logging_value = tree_a.get<bool> ("network_node_id_handshake");
|
||||
node_lifetime_tracing_value = tree_a.get<bool> ("node_lifetime_tracing");
|
||||
insufficient_work_logging_value = tree_a.get<bool> ("insufficient_work");
|
||||
log_rpc_value = tree_a.get<bool> ("log_rpc");
|
||||
bulk_pull_logging_value = tree_a.get<bool> ("bulk_pull");
|
||||
work_generation_time_value = tree_a.get<bool> ("work_generation_time");
|
||||
log_to_cerr_value = tree_a.get<bool> ("log_to_cerr");
|
||||
max_size = tree_a.get<uintmax_t> ("max_size");
|
||||
rotation_size = tree_a.get<uintmax_t> ("rotation_size", 4194304);
|
||||
flush = tree_a.get<bool> ("flush", true);
|
||||
}
|
||||
catch (std::runtime_error const &)
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool rai::logging::ledger_logging () const
|
||||
{
|
||||
return ledger_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::ledger_duplicate_logging () const
|
||||
{
|
||||
return ledger_logging () && ledger_duplicate_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::vote_logging () const
|
||||
{
|
||||
return vote_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_logging () const
|
||||
{
|
||||
return network_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_message_logging () const
|
||||
{
|
||||
return network_logging () && network_message_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_publish_logging () const
|
||||
{
|
||||
return network_logging () && network_publish_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_packet_logging () const
|
||||
{
|
||||
return network_logging () && network_packet_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_keepalive_logging () const
|
||||
{
|
||||
return network_logging () && network_keepalive_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::network_node_id_handshake_logging () const
|
||||
{
|
||||
return network_logging () && network_node_id_handshake_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::node_lifetime_tracing () const
|
||||
{
|
||||
return node_lifetime_tracing_value;
|
||||
}
|
||||
|
||||
bool rai::logging::insufficient_work_logging () const
|
||||
{
|
||||
return network_logging () && insufficient_work_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::log_rpc () const
|
||||
{
|
||||
return network_logging () && log_rpc_value;
|
||||
}
|
||||
|
||||
bool rai::logging::bulk_pull_logging () const
|
||||
{
|
||||
return network_logging () && bulk_pull_logging_value;
|
||||
}
|
||||
|
||||
bool rai::logging::callback_logging () const
|
||||
{
|
||||
return network_logging ();
|
||||
}
|
||||
|
||||
bool rai::logging::work_generation_time () const
|
||||
{
|
||||
return work_generation_time_value;
|
||||
}
|
||||
|
||||
bool rai::logging::log_to_cerr () const
|
||||
{
|
||||
return log_to_cerr_value;
|
||||
}
|
||||
|
||||
rai::node_init::node_init () :
|
||||
block_store_init (false),
|
||||
wallet_init (false)
|
||||
|
@ -4283,7 +4069,7 @@ void rai::thread_runner::join ()
|
|||
|
||||
rai::inactive_node::inactive_node (boost::filesystem::path const & path) :
|
||||
path (path),
|
||||
service (boost::make_shared<boost::asio::io_service> ()),
|
||||
service (std::make_shared<boost::asio::io_service> ()),
|
||||
alarm (*service),
|
||||
work (1, nullptr)
|
||||
{
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <rai/lib/work.hpp>
|
||||
#include <rai/node/bootstrap.hpp>
|
||||
#include <rai/node/logging.hpp>
|
||||
#include <rai/node/portmapping.hpp>
|
||||
#include <rai/node/stats.hpp>
|
||||
#include <rai/node/wallet.hpp>
|
||||
|
@ -10,7 +11,6 @@
|
|||
#include <condition_variable>
|
||||
|
||||
#include <boost/iostreams/device/array.hpp>
|
||||
#include <boost/log/trivial.hpp>
|
||||
#include <boost/multi_index/hashed_index.hpp>
|
||||
#include <boost/multi_index/member.hpp>
|
||||
#include <boost/multi_index/ordered_index.hpp>
|
||||
|
@ -436,51 +436,7 @@ public:
|
|||
static uint16_t const node_port = rai::rai_network == rai::rai_networks::rai_live_network ? 7075 : 54000;
|
||||
static size_t const buffer_size = 512;
|
||||
};
|
||||
class logging
|
||||
{
|
||||
public:
|
||||
logging ();
|
||||
void serialize_json (boost::property_tree::ptree &) const;
|
||||
bool deserialize_json (bool &, boost::property_tree::ptree &);
|
||||
bool upgrade_json (unsigned, boost::property_tree::ptree &);
|
||||
bool ledger_logging () const;
|
||||
bool ledger_duplicate_logging () const;
|
||||
bool vote_logging () const;
|
||||
bool network_logging () const;
|
||||
bool network_message_logging () const;
|
||||
bool network_publish_logging () const;
|
||||
bool network_packet_logging () const;
|
||||
bool network_keepalive_logging () const;
|
||||
bool network_node_id_handshake_logging () const;
|
||||
bool node_lifetime_tracing () const;
|
||||
bool insufficient_work_logging () const;
|
||||
bool log_rpc () const;
|
||||
bool bulk_pull_logging () const;
|
||||
bool callback_logging () const;
|
||||
bool work_generation_time () const;
|
||||
bool log_to_cerr () const;
|
||||
void init (boost::filesystem::path const &);
|
||||
|
||||
bool ledger_logging_value;
|
||||
bool ledger_duplicate_logging_value;
|
||||
bool vote_logging_value;
|
||||
bool network_logging_value;
|
||||
bool network_message_logging_value;
|
||||
bool network_publish_logging_value;
|
||||
bool network_packet_logging_value;
|
||||
bool network_keepalive_logging_value;
|
||||
bool network_node_id_handshake_logging_value;
|
||||
bool node_lifetime_tracing_value;
|
||||
bool insufficient_work_logging_value;
|
||||
bool log_rpc_value;
|
||||
bool bulk_pull_logging_value;
|
||||
bool work_generation_time_value;
|
||||
bool log_to_cerr_value;
|
||||
bool flush;
|
||||
uintmax_t max_size;
|
||||
uintmax_t rotation_size;
|
||||
boost::log::sources::logger_mt log;
|
||||
};
|
||||
class node_init
|
||||
{
|
||||
public:
|
||||
|
@ -689,7 +645,7 @@ public:
|
|||
inactive_node (boost::filesystem::path const & path = rai::working_path ());
|
||||
~inactive_node ();
|
||||
boost::filesystem::path path;
|
||||
boost::shared_ptr<boost::asio::io_service> service;
|
||||
std::shared_ptr<boost::asio::io_service> service;
|
||||
rai::alarm alarm;
|
||||
rai::logging logging;
|
||||
rai::node_init init;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue