message: Requested review changes.
diff: @@ -31,31 +31,40 @@ namespace fc {
  std::unordered_map<std::string,appender::ptr>& get_appender_map();
  }
  -void logging_conf_loop()
  -{
  - std::shared_ptr<boost::asio::signal_set> sighup_set(new boost::asio::signal_set(app().get_io_service(), SIGHUP));
  - sighup_set->async_wait([sighup_set](const boost::system::error_code& err, int /*num*/) {
  - if(!err)
  - {
  - ilog("Received HUP. Reloading logging configuration.");
  - auto config_path = app().get_logging_conf();
  - if(fc::exists(config_path))
  +namespace detail {
  +
  +void configure_logging(const bfs::path& config_path)
  {
  + try {
  try {
  fc::configure_logging(config_path);
  - } catch (const fc::exception& e) {
  + } catch (...) {
  elog("Error reloading logging.json");
  + throw;
  + }
  + } catch (const fc::exception& e) {
  elog("${e}", ("e",e.to_detail_string()));
  } catch (const boost::exception& e) {
  - elog("Error reloading logging.json");
  elog("${e}", ("e",boost::diagnostic_information(e)));
  } catch (const std::exception& e) {
  - elog("Error reloading logging.json");
  elog("${e}", ("e",e.what()));
  } catch (...) {
  - elog("Error reloading logging.json");
  + // empty
  }
  }
  +
  +} // namespace detail
  +
  +void logging_conf_loop()
  +{
  + std::shared_ptr<boost::asio::signal_set> sighup_set(new boost::asio::signal_set(app().get_io_service(), SIGHUP));
  + sighup_set->async_wait([sighup_set](const boost::system::error_code& err, int /*num*/) {
  + if(!err)
  + {
  + ilog("Received HUP. Reloading logging configuration.");
  + auto config_path = app().get_logging_conf();
  + if(fc::exists(config_path))
  + ::detail::configure_logging(config_path);
  for(auto iter : fc::get_appender_map())
  iter.second->initialize(app().get_io_service());
  logging_conf_loop();
  @@ -67,7 +76,7 @@ void initialize_logging()
  {
  auto config_path = app().get_logging_conf();
  if(fc::exists(config_path))
  - fc::configure_logging(config_path);
  + fc::configure_logging(config_path); // intentionally allowing exceptions to escape
  for(auto iter : fc::get_appender_map())
  iter.second->initialize(app().get_io_service());
  