diff --git a/src/ai/composite/goal.cpp b/src/ai/composite/goal.cpp index 227c0d1c20ed..ddc0bb39241a 100644 --- a/src/ai/composite/goal.cpp +++ b/src/ai/composite/goal.cpp @@ -306,7 +306,7 @@ protect_goal::protect_goal(readonly_context &context, const config &cfg, bool pr , value_(1.0) //this default value taken from old code { if(protect_only_own_unit_) { - lg::wml_error << deprecate_wml_key_warning("protect_my_unit", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("protect_my_unit", "1.13.0") << "\n"; } } diff --git a/src/ai/configuration.cpp b/src/ai/configuration.cpp index 67265e92f342..32e5d6663535 100644 --- a/src/ai/configuration.cpp +++ b/src/ai/configuration.cpp @@ -402,7 +402,7 @@ bool configuration::upgrade_side_config_from_1_07_02_to_1_07_03(side_number side BOOST_FOREACH(const config &aitarget, aiparam.child_range("target")) { - lg::wml_error << deprecate_wml_key_warning("target", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("target", "1.13.0") << "\n"; config aigoal; transfer_turns_and_time_of_day_data(aiparam,aigoal); @@ -421,7 +421,7 @@ bool configuration::upgrade_side_config_from_1_07_02_to_1_07_03(side_number side BOOST_FOREACH(config &ai_protect_unit, aiparam.child_range("protect_unit")) { - lg::wml_error << deprecate_wml_key_warning("protect_unit", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("protect_unit", "1.13.0") << "\n"; transfer_turns_and_time_of_day_data(aiparam,ai_protect_unit); upgrade_protect_goal_config_from_1_07_02_to_1_07_03(side,ai_protect_unit,parsed_cfg,true); } @@ -429,7 +429,7 @@ bool configuration::upgrade_side_config_from_1_07_02_to_1_07_03(side_number side BOOST_FOREACH(config &ai_protect_location, aiparam.child_range("protect_location")) { - lg::wml_error << deprecate_wml_key_warning("protect_location", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("protect_location", "1.13.0") << "\n"; transfer_turns_and_time_of_day_data(aiparam,ai_protect_location); upgrade_protect_goal_config_from_1_07_02_to_1_07_03(side,ai_protect_location,parsed_cfg,false); } @@ -438,14 +438,14 @@ bool configuration::upgrade_side_config_from_1_07_02_to_1_07_03(side_number side if (const config::attribute_value *v = aiparam.get("protect_leader")) { - lg::wml_error << deprecate_wml_key_warning("protect_leader", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("protect_leader", "1.13.0") << "\n"; config c; c["value"] = *v; c["canrecruit"] = true; c["side_number"] = side; transfer_turns_and_time_of_day_data(aiparam,c); if (const config::attribute_value *v = aiparam.get("protect_leader_radius")) { - lg::wml_error << deprecate_wml_key_warning("protect_leader_radius", "1.13.0") << "\n"; + lg::wml_error() << deprecate_wml_key_warning("protect_leader_radius", "1.13.0") << "\n"; c["radius"] = *v; } diff --git a/src/ai/default/ai.cpp b/src/ai/default/ai.cpp index a2f0afc446a5..c040fe8bd043 100644 --- a/src/ai/default/ai.cpp +++ b/src/ai/default/ai.cpp @@ -746,7 +746,7 @@ class combat_score_less { static void debug_print_recall_list_scores(const std::vector< std::pair > &recall_list_scores,const char *message) { - if (!lg::debug.dont_log(log_ai)) { + if (!lg::debug().dont_log(log_ai)) { std::stringstream s; s << message << std::endl; for (std::vector< std::pair >::const_iterator p = recall_list_scores.begin(); p!=recall_list_scores.end();++p) { diff --git a/src/ai/recruitment/recruitment.cpp b/src/ai/recruitment/recruitment.cpp index ed38d6259555..8091ff49ba20 100644 --- a/src/ai/recruitment/recruitment.cpp +++ b/src/ai/recruitment/recruitment.cpp @@ -230,7 +230,7 @@ void recruitment::execute() { // Add team recruits. BOOST_FOREACH(const std::string& recruit, current_team().recruits()) { if (!unit_types.find(recruit)) { - lg::wml_error << "Unit-type \"" << recruit << "\" doesn't exist.\n"; + lg::wml_error() << "Unit-type \"" << recruit << "\" doesn't exist.\n"; } data.recruits.insert(recruit); data.scores[recruit] = 0.0; @@ -240,7 +240,7 @@ void recruitment::execute() { // Add extra recruits. BOOST_FOREACH(const std::string& recruit, leader->recruits()) { if (!unit_types.find(recruit)) { - lg::wml_error << "Unit-type \"" << recruit << "\" doesn't exist.\n"; + lg::wml_error() << "Unit-type \"" << recruit << "\" doesn't exist.\n"; } data.recruits.insert(recruit); data.scores[recruit] = 0.0; @@ -291,7 +291,7 @@ void recruitment::execute() { update_important_hexes(); // Show "x" on important hexes if debug mode is activated AND // the log domain "ai/recruitment" is used. - if (game_config::debug && !lg::info.dont_log(log_ai_recruitment)) { + if (game_config::debug && !lg::info().dont_log(log_ai_recruitment)) { show_important_hexes(); } diff --git a/src/ai/testing/ca.cpp b/src/ai/testing/ca.cpp index 8775bb574001..3bdb428a92f8 100644 --- a/src/ai/testing/ca.cpp +++ b/src/ai/testing/ca.cpp @@ -994,7 +994,7 @@ void get_villages_phase::get_villages( leader_loc_ = map_location::null_location(); } - debug_ = !lg::debug.dont_log(log_ai_testing_ai_default); + debug_ = !lg::debug().dont_log(log_ai_testing_ai_default); // Find our units who can move. treachmap reachmap; diff --git a/src/campaign_server/addon_utils.cpp b/src/campaign_server/addon_utils.cpp index 7d9f3777c1eb..b1bb9c7a294e 100644 --- a/src/campaign_server/addon_utils.cpp +++ b/src/campaign_server/addon_utils.cpp @@ -24,7 +24,7 @@ #include static lg::log_domain log_network("network"); -#define LOG_CS if (lg::err.dont_log(log_network)) ; else lg::err(log_network, false) +#define LOG_CS if (lg::err().dont_log(log_network)) ; else lg::err()(log_network, false) namespace { diff --git a/src/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index b5cc44ce9fd0..3fdb6d096f2a 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -875,7 +875,7 @@ int main(int argc, char**argv) { game_config::path = filesystem::get_cwd(); - lg::set_log_domain_severity("campaignd", lg::info); + lg::set_log_domain_severity("campaignd", lg::info()); lg::timestamps(true); try { diff --git a/src/commandline_options.cpp b/src/commandline_options.cpp index cf7bb0f60345..7952a684f034 100644 --- a/src/commandline_options.cpp +++ b/src/commandline_options.cpp @@ -357,13 +357,13 @@ commandline_options::commandline_options (const std::vector& args) if (vm.count("load")) load = vm["load"].as(); if (vm.count("log-error")) - parse_log_domains_(vm["log-error"].as(),lg::err.get_severity()); + parse_log_domains_(vm["log-error"].as(),lg::err().get_severity()); if (vm.count("log-warning")) - parse_log_domains_(vm["log-warning"].as(),lg::warn.get_severity()); + parse_log_domains_(vm["log-warning"].as(),lg::warn().get_severity()); if (vm.count("log-info")) - parse_log_domains_(vm["log-info"].as(),lg::info.get_severity()); + parse_log_domains_(vm["log-info"].as(),lg::info().get_severity()); if (vm.count("log-debug")) - parse_log_domains_(vm["log-debug"].as(),lg::debug.get_severity()); + parse_log_domains_(vm["log-debug"].as(),lg::debug().get_severity()); if (vm.count("logdomains")) logdomains = vm["logdomains"].as(); if (vm.count("log-precise")) @@ -498,7 +498,7 @@ void commandline_options::parse_log_domains_(const std::string &domains_string, } void commandline_options::parse_log_strictness (const std::string & severity ) { - static lg::logger const *loggers[] = { &lg::err, &lg::warn, &lg::info, &lg::debug }; + static lg::logger const *loggers[] = { &lg::err(), &lg::warn(), &lg::info(), &lg::debug() }; BOOST_FOREACH (const lg::logger * l, loggers ) { if (severity == l->get_name()) { lg::set_strict_severity(*l); diff --git a/src/config.cpp b/src/config.cpp index a4e04c792358..bc79c0f9cb5c 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -509,7 +509,7 @@ bool config::has_old_attribute(const std::string &key, const std::string &old_ke return true; } else if (values.find(old_key) != values.end()) { if (!msg.empty()) - lg::wml_error << msg; + lg::wml_error() << msg; return true; } return false; @@ -903,7 +903,7 @@ const config::attribute_value &config::get_old_attribute(const std::string &key, i = values.find(old_key); if (i != values.end()) { if (!msg.empty()) - lg::wml_error << msg; + lg::wml_error() << msg; return i->second; } diff --git a/src/game_events/action_wml.cpp b/src/game_events/action_wml.cpp index 17886821170c..29e5af95eb38 100644 --- a/src/game_events/action_wml.cpp +++ b/src/game_events/action_wml.cpp @@ -257,7 +257,7 @@ void handle_deprecated_message(const config& cfg) { // Note: no need to translate the string, since only used for deprecated things. const std::string& message = cfg["message"]; - lg::wml_error << message << '\n'; + lg::wml_error() << message << '\n'; } void handle_wml_log_message(const config& cfg) @@ -642,7 +642,7 @@ WML_HANDLER_FUNCTION(replace_map, cfg) } } catch(incorrect_map_format_error&) { const std::string log_map_name = cfg["map"].empty() ? cfg["file"] : std::string("from inline data"); - lg::wml_error << "replace_map: Unable to load map " << log_map_name << std::endl; + lg::wml_error() << "replace_map: Unable to load map " << log_map_name << std::endl; return; } catch(twml_exception& e) { e.show(resources::screen->video()); @@ -652,7 +652,7 @@ WML_HANDLER_FUNCTION(replace_map, cfg) if (map.total_width() > game_map->total_width() || map.total_height() > game_map->total_height()) { if (!cfg["expand"].to_bool()) { - lg::wml_error << "replace_map: Map dimension(s) increase but expand is not set" << std::endl; + lg::wml_error() << "replace_map: Map dimension(s) increase but expand is not set" << std::endl; return; } } @@ -660,7 +660,7 @@ WML_HANDLER_FUNCTION(replace_map, cfg) if (map.total_width() < game_map->total_width() || map.total_height() < game_map->total_height()) { if (!cfg["shrink"].to_bool()) { - lg::wml_error << "replace_map: Map dimension(s) decrease but shrink is not set" << std::endl; + lg::wml_error() << "replace_map: Map dimension(s) decrease but shrink is not set" << std::endl; return; } } @@ -668,7 +668,7 @@ WML_HANDLER_FUNCTION(replace_map, cfg) boost::optional errmsg = resources::gameboard->replace_map(map); if (errmsg) { - lg::wml_error << *errmsg << std::endl; + lg::wml_error() << *errmsg << std::endl; } resources::screen->reload_map(); diff --git a/src/game_events/manager_impl.cpp b/src/game_events/manager_impl.cpp index be5b308c694f..5465229d68ea 100644 --- a/src/game_events/manager_impl.cpp +++ b/src/game_events/manager_impl.cpp @@ -46,7 +46,7 @@ namespace game_events { void t_event_handlers::log_handlers() { - if(lg::debug.dont_log("event_handler")) return; + if(lg::debug().dont_log("event_handler")) return; std::stringstream ss; diff --git a/src/game_events/pump.cpp b/src/game_events/pump.cpp index c3e270db43c1..d3e8ef6e3082 100644 --- a/src/game_events/pump.cpp +++ b/src/game_events/pump.cpp @@ -383,7 +383,7 @@ namespace { // Support functions { static const std::string caption("Invalid WML found"); - show_wml_messages(lg::wml_error, caption, true); + show_wml_messages(lg::wml_error(), caption, true); } /** @@ -459,13 +459,13 @@ void t_pump::context_skip_messages(bool b) void t_pump::put_wml_message(const std::string& logger, const std::string& message, bool in_chat) { if (logger == "err" || logger == "error") { - put_wml_message(lg::err, _("Error: "), message, in_chat ); + put_wml_message(lg::err(), _("Error: "), message, in_chat ); } else if (logger == "warn" || logger == "wrn" || logger == "warning") { - put_wml_message(lg::warn, _("Warning: "), message, in_chat ); - } else if ((logger == "debug" || logger == "dbg") && !lg::debug.dont_log(log_wml)) { - put_wml_message(lg::debug, _("Debug: "), message, in_chat ); - } else if (!lg::info.dont_log(log_wml)) { - put_wml_message(lg::info, _("Info: "), message, in_chat ); + put_wml_message(lg::warn(), _("Warning: "), message, in_chat ); + } else if ((logger == "debug" || logger == "dbg") && !lg::debug().dont_log(log_wml)) { + put_wml_message(lg::debug(), _("Debug: "), message, in_chat ); + } else if (!lg::info().dont_log(log_wml)) { + put_wml_message(lg::info(), _("Info: "), message, in_chat ); } } @@ -506,7 +506,7 @@ bool t_pump::operator()() << "recursion level would exceed maximum: " << game_config::max_loop << '\n'; return false; } - if(!lg::debug.dont_log("event_handler")) { + if(!lg::debug().dont_log("event_handler")) { std::stringstream ss; BOOST_FOREACH(const queued_event& ev, impl_->events_queue) { ss << "name=" << ev.name << "; "; diff --git a/src/game_launcher.cpp b/src/game_launcher.cpp index 11a9861ac3de..c5db09bb26dc 100644 --- a/src/game_launcher.cpp +++ b/src/game_launcher.cpp @@ -92,9 +92,9 @@ static lg::log_domain log_config("config"); #define WRN_CONFIG LOG_STREAM(warn, log_config) #define LOG_CONFIG LOG_STREAM(info, log_config) -#define LOG_GENERAL LOG_STREAM(info, lg::general) -#define WRN_GENERAL LOG_STREAM(warn, lg::general) -#define DBG_GENERAL LOG_STREAM(debug, lg::general) +#define LOG_GENERAL LOG_STREAM(info, lg::general()) +#define WRN_GENERAL LOG_STREAM(warn, lg::general()) +#define DBG_GENERAL LOG_STREAM(debug, lg::general()) static lg::log_domain log_mp_create("mp/create"); #define DBG_MP LOG_STREAM(debug, log_mp_create) diff --git a/src/gettext_boost.cpp b/src/gettext_boost.cpp index 6fcdeca87455..eec253380d0f 100644 --- a/src/gettext_boost.cpp +++ b/src/gettext_boost.cpp @@ -24,10 +24,10 @@ #include #include -#define DBG_G LOG_STREAM(debug, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define WRN_G LOG_STREAM(warn, lg::general) -#define ERR_G LOG_STREAM(err, lg::general) +#define DBG_G LOG_STREAM(debug, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define WRN_G LOG_STREAM(warn, lg::general()) +#define ERR_G LOG_STREAM(err, lg::general()) namespace bl = boost::locale; namespace diff --git a/src/gui/auxiliary/log.hpp b/src/gui/auxiliary/log.hpp index fefe86720f3a..335e4a1ec61f 100644 --- a/src/gui/auxiliary/log.hpp +++ b/src/gui/auxiliary/log.hpp @@ -45,10 +45,10 @@ extern lg::log_domain log_gui_general; extern lg::log_domain log_gui_iterator; #define TST_GUI_I \ - if(lg::debug.dont_log(gui2::log_gui_iterator)) \ + if(lg::debug().dont_log(gui2::log_gui_iterator)) \ ; \ else \ - lg::debug(gui2::log_gui_iterator, false, false) + lg::debug()(gui2::log_gui_iterator, false, false) #define DBG_GUI_I LOG_STREAM_INDENT(debug, gui2::log_gui_iterator) #define LOG_GUI_I LOG_STREAM_INDENT(info, gui2::log_gui_iterator) #define WRN_GUI_I LOG_STREAM_INDENT(warn, gui2::log_gui_iterator) diff --git a/src/gui/dialogs/message.cpp b/src/gui/dialogs/message.cpp index 393f5aa8cc85..020c9ed2a43a 100644 --- a/src/gui/dialogs/message.cpp +++ b/src/gui/dialogs/message.cpp @@ -200,7 +200,7 @@ void show_error_message(CVideo& video, const std::string& message, bool message_use_markup) { - LOG_STREAM(err, lg::general) << message << '\n'; + LOG_STREAM(err, lg::general()) << message << '\n'; show_message(video, _("Error"), message, diff --git a/src/gui/dialogs/transient_message.cpp b/src/gui/dialogs/transient_message.cpp index 054f6a6f9910..dbf51dd3fda3 100644 --- a/src/gui/dialogs/transient_message.cpp +++ b/src/gui/dialogs/transient_message.cpp @@ -73,7 +73,7 @@ void show_transient_error_message(CVideo& video, const std::string& image, const bool message_use_markup) { - LOG_STREAM(err, lg::general) << message << '\n'; + LOG_STREAM(err, lg::general()) << message << '\n'; show_transient_message( video, _("Error"), message, image, message_use_markup); } diff --git a/src/hotkey/command_executor.cpp b/src/hotkey/command_executor.cpp index 389875c94f7a..356acf6af4eb 100644 --- a/src/hotkey/command_executor.cpp +++ b/src/hotkey/command_executor.cpp @@ -38,10 +38,10 @@ #include static lg::log_domain log_config("config"); -#define ERR_G LOG_STREAM(err, lg::general) -#define WRN_G LOG_STREAM(warn, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define DBG_G LOG_STREAM(debug, lg::general) +#define ERR_G LOG_STREAM(err, lg::general()) +#define WRN_G LOG_STREAM(warn, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define DBG_G LOG_STREAM(debug, lg::general()) #define ERR_CF LOG_STREAM(err, log_config) namespace { diff --git a/src/hotkey/hotkey_command.cpp b/src/hotkey/hotkey_command.cpp index 6ef3dc39da9f..4a2b9b66c115 100644 --- a/src/hotkey/hotkey_command.cpp +++ b/src/hotkey/hotkey_command.cpp @@ -24,9 +24,9 @@ #include "log.hpp" static lg::log_domain log_config("config"); -#define ERR_G LOG_STREAM(err, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define DBG_G LOG_STREAM(debug, lg::general) +#define ERR_G LOG_STREAM(err, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define DBG_G LOG_STREAM(debug, lg::general()) #define ERR_CF LOG_STREAM(err, log_config) diff --git a/src/hotkey/hotkey_item.cpp b/src/hotkey/hotkey_item.cpp index 704109fd492e..eef95460e895 100644 --- a/src/hotkey/hotkey_item.cpp +++ b/src/hotkey/hotkey_item.cpp @@ -36,9 +36,9 @@ static lg::log_domain log_config("config"); -#define ERR_G LOG_STREAM(err, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define DBG_G LOG_STREAM(debug, lg::general) +#define ERR_G LOG_STREAM(err, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define DBG_G LOG_STREAM(debug, lg::general()) #define ERR_CF LOG_STREAM(err, log_config) namespace hotkey { diff --git a/src/language.cpp b/src/language.cpp index 56b9e6d5e82e..92bcdb20992f 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -38,10 +38,10 @@ extern "C" int _putenv(const char*); #include #endif -#define DBG_G LOG_STREAM(debug, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define WRN_G LOG_STREAM(warn, lg::general) -#define ERR_G LOG_STREAM(err, lg::general) +#define DBG_G LOG_STREAM(debug, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define WRN_G LOG_STREAM(warn, lg::general()) +#define ERR_G LOG_STREAM(err, lg::general()) namespace { language_def current_language; diff --git a/src/loadscreen.cpp b/src/loadscreen.cpp index 6e1b461d67a8..6698e5838097 100644 --- a/src/loadscreen.cpp +++ b/src/loadscreen.cpp @@ -391,7 +391,7 @@ void loadscreen::increment_progress() void loadscreen::dump_counters() const { - if (lg::info.dont_log(log_loadscreen)) return; + if (lg::info().dont_log(log_loadscreen)) return; std::ostringstream s; diff --git a/src/log.cpp b/src/log.cpp index 469466c55ed7..a461672563a7 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -79,8 +79,35 @@ static int strict_level_ = -1; void timestamps(bool t) { timestamp = t; } void precise_timestamps(bool pt) { precise_timestamp = pt; } -logger err("error", 0), warn("warning", 1), info("info", 2), debug("debug", 3); -log_domain general("general"); +logger& err() +{ + static logger lg("error", 0); + return lg; +} + +logger& warn() +{ + static logger lg("warning", 1); + return lg; +} + +logger& info() +{ + static logger lg("info", 2); + return lg; +} + +logger& debug() +{ + static logger lg("debug", 3); + return lg; +} + +log_domain& general() +{ + static log_domain dom("general"); + return dom; +} log_domain::log_domain(char const *name) : domain_(NULL) @@ -204,7 +231,7 @@ std::ostream &logger::operator()(log_domain const &domain, bool show_names, bool void scope_logger::do_log_entry(log_domain const &domain, const std::string& str) { - output_ = &debug(domain, false, true); + output_ = &debug()(domain, false, true); str_ = str; ticks_ = SDL_GetTicks(); (*output_) << "{ BEGIN: " << str_ << "\n"; @@ -226,7 +253,11 @@ void scope_logger::do_indent() const (*output_) << " "; } -std::stringstream wml_error; +std::stringstream& wml_error() +{ + static std::stringstream lg; + return lg; +} } // end namespace lg diff --git a/src/log.hpp b/src/log.hpp index 1ed11acc8ca3..c38e7e7b22d8 100644 --- a/src/log.hpp +++ b/src/log.hpp @@ -135,8 +135,8 @@ void precise_timestamps(bool); std::string get_timestamp(const time_t& t, const std::string& format="%Y%m%d %H:%M:%S "); std::string get_timespan(const time_t& t); -extern logger err, warn, info, debug; -extern log_domain general; +logger &err(), &warn(), &info(), &debug(); +log_domain& general(); class scope_logger { @@ -149,14 +149,14 @@ class scope_logger output_(NULL), str_() { - if (!debug.dont_log(domain)) do_log_entry(domain, str); + if (!debug().dont_log(domain)) do_log_entry(domain, str); } scope_logger(log_domain const &domain, const std::string& str) : ticks_(0), output_(NULL), str_() { - if (!debug.dont_log(domain)) do_log_entry(domain, str); + if (!debug().dont_log(domain)) do_log_entry(domain, str); } ~scope_logger() { @@ -177,16 +177,16 @@ class scope_logger * After every wml-event the errors are shown to the user, * so they can inform the campaign maintainer. */ -extern std::stringstream wml_error; +std::stringstream& wml_error(); } // namespace lg -#define log_scope(a) lg::scope_logger scope_logging_object__(lg::general, a); -#define log_scope2(a,b) lg::scope_logger scope_logging_object__(a, b); +#define log_scope(description) lg::scope_logger scope_logging_object__(lg::general(), description); +#define log_scope2(domain,description) lg::scope_logger scope_logging_object__(domain, description); -#define LOG_STREAM(a, b) if (lg::a.dont_log(b)) ; else lg::a(b) +#define LOG_STREAM(level, domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain) // When using log_scope/log_scope2 it is nice to have all output indented. -#define LOG_STREAM_INDENT(a,b) if (lg::a.dont_log(b)) ; else lg::a(b, true, true) +#define LOG_STREAM_INDENT(level,domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain, true, true) #endif diff --git a/src/map.cpp b/src/map.cpp index 1abe523aadc2..4431fc262e79 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -41,8 +41,8 @@ static lg::log_domain log_config("config"); #define ERR_CF LOG_STREAM(err, log_config) -#define LOG_G LOG_STREAM(info, lg::general) -#define DBG_G LOG_STREAM(debug, lg::general) +#define LOG_G LOG_STREAM(info, lg::general()) +#define DBG_G LOG_STREAM(debug, lg::general()) /** Gets the list of terrains. */ const t_translation::t_list& gamemap::get_terrain_list() const diff --git a/src/menu_events.cpp b/src/menu_events.cpp index f9421d084628..abfb776d60a1 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -2044,10 +2044,10 @@ void chat_handler::change_logging(const std::string& data) { const std::string level(data.begin(),j); const std::string domain(j+1,data.end()); int severity; - if (level == "error") severity = lg::err.get_severity(); - else if (level == "warning") severity = lg::warn.get_severity(); - else if (level == "info") severity = lg::info.get_severity(); - else if (level == "debug") severity = lg::debug.get_severity(); + if (level == "error") severity = lg::err().get_severity(); + else if (level == "warning") severity = lg::warn().get_severity(); + else if (level == "info") severity = lg::info().get_severity(); + else if (level == "debug") severity = lg::debug().get_severity(); else { utils::string_map symbols; symbols["level"] = level; diff --git a/src/mouse_events.cpp b/src/mouse_events.cpp index 749a38b66435..c51ab9098011 100644 --- a/src/mouse_events.cpp +++ b/src/mouse_events.cpp @@ -994,7 +994,7 @@ void mouse_handler::attack_enemy(const map_location& attacker_loc, const map_loc try { attack_enemy_(attacker_loc, defender_loc, choice); } catch(std::bad_alloc) { - lg::wml_error << "Memory exhausted a unit has either a lot hitpoints or a negative amount.\n"; + lg::wml_error() << "Memory exhausted a unit has either a lot hitpoints or a negative amount.\n"; } } diff --git a/src/pathfind/teleport.cpp b/src/pathfind/teleport.cpp index 80de2ca7f4b6..bda71c0616e1 100644 --- a/src/pathfind/teleport.cpp +++ b/src/pathfind/teleport.cpp @@ -257,7 +257,7 @@ manager::manager(const config &cfg) : tunnels_(), id_(cfg["next_teleport_group_i for(int i = 0; i < tunnel_count; ++i) { const config& t = cfg.child("tunnel", i); if(!t["saved"].to_bool()) { - lg::wml_error << "Do not use [tunnel] directly in a [scenario]. Use it in an [event] or [abilities] tag.\n"; + lg::wml_error() << "Do not use [tunnel] directly in a [scenario]. Use it in an [event] or [abilities] tag.\n"; continue; } const teleport_group tunnel(t); diff --git a/src/race.cpp b/src/race.cpp index 4f13e120c785..5784eaa97fef 100644 --- a/src/race.cpp +++ b/src/race.cpp @@ -175,10 +175,10 @@ unit_race::unit_race(const config& cfg) : { if (id_.empty()) { - lg::wml_error << "[race] '" << cfg["name"] << "' is missing an id field."; + lg::wml_error() << "[race] '" << cfg["name"] << "' is missing an id field."; } if (plural_name_.empty()) { - lg::wml_error << "[race] '" << cfg["name"] << "' is missing a plural_name field."; + lg::wml_error() << "[race] '" << cfg["name"] << "' is missing a plural_name field."; plural_name_ = (cfg["name"]); } // use "name" if "male_name" or "female_name" aren't available diff --git a/src/scripting/game_lua_kernel.cpp b/src/scripting/game_lua_kernel.cpp index a68b2605d1f3..f97b3c44d27b 100644 --- a/src/scripting/game_lua_kernel.cpp +++ b/src/scripting/game_lua_kernel.cpp @@ -3415,7 +3415,7 @@ static int intf_add_modification(lua_State *L) std::string sm = m; if (sm == "advance") { // Maintain backwards compatibility sm = "advancement"; - lg::wml_error << "(Lua) Modifications of type \"advance\" are deprecated, use \"advancement\" instead\n"; + lg::wml_error() << "(Lua) Modifications of type \"advance\" are deprecated, use \"advancement\" instead\n"; } if (sm != "advancement" && sm != "object" && sm != "trait") { return luaL_argerror(L, 2, "unknown modification type"); diff --git a/src/scripting/lua_api.cpp b/src/scripting/lua_api.cpp index 6f7dbd6dae7d..0b3d23e3e603 100644 --- a/src/scripting/lua_api.cpp +++ b/src/scripting/lua_api.cpp @@ -84,7 +84,7 @@ bool luaW_pcall(lua_State *L if (allow_wml_error && strncmp(m, "~wml:", 5) == 0) { m += 5; char const *e = strstr(m, "stack traceback"); - lg::wml_error << std::string(m, e ? e - m : strlen(m)); + lg::wml_error() << std::string(m, e ? e - m : strlen(m)); } else if (allow_wml_error && strncmp(m, "~lua:", 5) == 0) { m += 5; char const *e = NULL, *em = m; diff --git a/src/serialization/string_utils.cpp b/src/serialization/string_utils.cpp index f48e70c3b9ed..fc98fcccfd4b 100644 --- a/src/serialization/string_utils.cpp +++ b/src/serialization/string_utils.cpp @@ -31,7 +31,7 @@ #include static lg::log_domain log_engine("engine"); -#define ERR_GENERAL LOG_STREAM(err, lg::general) +#define ERR_GENERAL LOG_STREAM(err, lg::general()) #define ERR_NG LOG_STREAM(err, log_engine) namespace utils { diff --git a/src/serialization/unicode.cpp b/src/serialization/unicode.cpp index 80d0eddf1016..c41eb916e07c 100644 --- a/src/serialization/unicode.cpp +++ b/src/serialization/unicode.cpp @@ -32,7 +32,7 @@ #include static lg::log_domain log_engine("engine"); -#define ERR_GENERAL LOG_STREAM(err, lg::general) +#define ERR_GENERAL LOG_STREAM(err, lg::general()) namespace utf8 { diff --git a/src/server/server.cpp b/src/server/server.cpp index c2de436f6abc..050809563ae5 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -711,7 +711,7 @@ void server::run() { simple_wml::INIT_COMPRESSED ); simple_wml::string_span s = ping.output_compressed(); BOOST_FOREACH(network::connection sock, ghost_players_) { - if (!lg::debug.dont_log(log_server)) { + if (!lg::debug().dont_log(log_server)) { wesnothd::player_map::const_iterator i = players_.find(sock); if (i != players_.end()) { DBG_SERVER << "Pinging " << i->second.name() << "(" << i->first << ").\n"; @@ -2812,7 +2812,7 @@ int main(int argc, char** argv) { game_config::path = filesystem::get_cwd(); // show 'info' by default - lg::set_log_domain_severity("server", lg::info); + lg::set_log_domain_severity("server", lg::info()); lg::timestamps(true); for (int arg = 1; arg != argc; ++arg) { @@ -2824,7 +2824,7 @@ int main(int argc, char** argv) { if ((val == "--config" || val == "-c") && arg+1 != argc) { config_file = argv[++arg]; } else if (val == "--verbose" || val == "-v") { - lg::set_log_domain_severity("all", lg::debug); + lg::set_log_domain_severity("all", lg::debug()); } else if (val.substr(0, 6) == "--log-") { size_t p = val.find('='); if (p == std::string::npos) { @@ -2833,10 +2833,10 @@ int main(int argc, char** argv) { } std::string s = val.substr(6, p - 6); int severity; - if (s == "error") severity = lg::err.get_severity(); - else if (s == "warning") severity = lg::warn.get_severity(); - else if (s == "info") severity = lg::info.get_severity(); - else if (s == "debug") severity = lg::debug.get_severity(); + if (s == "error") severity = lg::err().get_severity(); + else if (s == "warning") severity = lg::warn().get_severity(); + else if (s == "info") severity = lg::info().get_severity(); + else if (s == "debug") severity = lg::debug().get_severity(); else { std::cerr << "unknown debug level: " << s << '\n'; return 2; diff --git a/src/terrain.cpp b/src/terrain.cpp index 9eaf45931bed..183ea65f6c85 100644 --- a/src/terrain.cpp +++ b/src/terrain.cpp @@ -25,10 +25,10 @@ #include static lg::log_domain log_config("config"); -#define ERR_G LOG_STREAM(err, lg::general) -#define WRN_G LOG_STREAM(warn, lg::general) -#define LOG_G LOG_STREAM(info, lg::general) -#define DBG_G LOG_STREAM(debug, lg::general) +#define ERR_G LOG_STREAM(err, lg::general()) +#define WRN_G LOG_STREAM(warn, lg::general()) +#define LOG_G LOG_STREAM(info, lg::general()) +#define DBG_G LOG_STREAM(debug, lg::general()) terrain_type::terrain_type() : minimap_image_(), diff --git a/src/terrain_translation.cpp b/src/terrain_translation.cpp index 1b3803d82b07..8d5a71d6486f 100644 --- a/src/terrain_translation.cpp +++ b/src/terrain_translation.cpp @@ -28,8 +28,8 @@ #include "wml_exception.hpp" -#define ERR_G LOG_STREAM(err, lg::general) -#define WRN_G LOG_STREAM(warn, lg::general) +#define ERR_G LOG_STREAM(err, lg::general()) +#define WRN_G LOG_STREAM(warn, lg::general()) namespace t_translation { diff --git a/src/tests/main.cpp b/src/tests/main.cpp index e8e00459c73c..100132c40a84 100644 --- a/src/tests/main.cpp +++ b/src/tests/main.cpp @@ -74,7 +74,7 @@ struct wesnoth_global_fixture { assert( reporter.is_open() ); boost::unit_test::results_reporter::set_stream(reporter); -// lg::set_log_domain_severity("all",lg::debug); +// lg::set_log_domain_severity("all",lg::debug()); game_config::path = filesystem::get_cwd(); diff --git a/src/tests/test_formula_function.cpp b/src/tests/test_formula_function.cpp index ffcbed5a66ed..70b790102895 100644 --- a/src/tests/test_formula_function.cpp +++ b/src/tests/test_formula_function.cpp @@ -37,14 +37,14 @@ BOOST_AUTO_TEST_CASE(test_formula_function_substring) .evaluate().as_string() , "world"); - lg::set_log_domain_severity("scripting/formula", lg::err); + lg::set_log_domain_severity("scripting/formula", lg::err()); BOOST_CHECK_EQUAL( game_logic::formula("substring('hello world', 11)") .evaluate().as_string() , ""); - lg::set_log_domain_severity("scripting/formula", lg::debug); + lg::set_log_domain_severity("scripting/formula", lg::debug()); BOOST_CHECK_EQUAL( game_logic::formula("substring('hello world', -1)") @@ -61,14 +61,14 @@ BOOST_AUTO_TEST_CASE(test_formula_function_substring) .evaluate().as_string() , "hello world"); - lg::set_log_domain_severity("scripting/formula", lg::err); + lg::set_log_domain_severity("scripting/formula", lg::err()); BOOST_CHECK_EQUAL( game_logic::formula("substring('hello world', -12)") .evaluate().as_string() , "hello world"); - lg::set_log_domain_severity("scripting/formula", lg::debug); + lg::set_log_domain_severity("scripting/formula", lg::debug()); BOOST_CHECK_EQUAL( game_logic::formula("substring('hello world', 0, 0)") @@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(test_formula_function_substring) .evaluate().as_string() , "h"); - lg::set_log_domain_severity("scripting/formula", lg::debug); + lg::set_log_domain_severity("scripting/formula", lg::debug()); BOOST_CHECK_EQUAL( game_logic::formula("substring('hello world', 5, 1)") diff --git a/src/tests/test_map_location.cpp b/src/tests/test_map_location.cpp index 93c96543c10d..d97b19e5eaf8 100644 --- a/src/tests/test_map_location.cpp +++ b/src/tests/test_map_location.cpp @@ -18,7 +18,6 @@ #include #include -#include "log.hpp" #include "map_location.hpp" static std::vector preset_locs; diff --git a/src/tests/test_unit_map.cpp b/src/tests/test_unit_map.cpp index 9bf1f0422959..3333a4fb9bd0 100644 --- a/src/tests/test_unit_map.cpp +++ b/src/tests/test_unit_map.cpp @@ -68,19 +68,19 @@ BOOST_AUTO_TEST_CASE( test_1 ) { // unit * orc1p = new unit(orc1_side0_real); - lg::set_log_domain_severity("engine", lg::err.get_severity() - 1); // Don't log anything - lg::set_log_domain_severity("unit", lg::err); + lg::set_log_domain_severity("engine", lg::err().get_severity() - 1); // Don't log anything + lg::set_log_domain_severity("unit", lg::err()); uresult1 = unit_map.add(map_location(1,1), orc1_side0_real); - lg::set_log_domain_severity("unit", lg::warn); - lg::set_log_domain_severity("engine", lg::info); + lg::set_log_domain_severity("unit", lg::warn()); + lg::set_log_domain_severity("engine", lg::info()); BOOST_CHECK_EQUAL(unit_map.size(), 1); BOOST_CHECK_MESSAGE(uresult1.second == false, "Didn't Add at occupied location."); BOOST_CHECK_MESSAGE(uresult1.first == unit_map.end(), "Didn't Add at occupied location."); - lg::set_log_domain_severity("engine", lg::err.get_severity() - 1); // Don't log anything + lg::set_log_domain_severity("engine", lg::err().get_severity() - 1); // Don't log anything // If the location is invalid, the unit never needs to be cloned, so no warning is emitted in the unit domain uresult1 = unit_map.add(map_location(-1,1), orc1_side0_real); - lg::set_log_domain_severity("engine", lg::info); + lg::set_log_domain_severity("engine", lg::info()); BOOST_CHECK_EQUAL(unit_map.size(), 1); BOOST_CHECK_MESSAGE(uresult1.second == false, "Didn't Add at invalid location."); BOOST_CHECK_MESSAGE(uresult1.first == unit_map.end(), "Didn't Add at invalid location."); @@ -89,11 +89,11 @@ BOOST_AUTO_TEST_CASE( test_1 ) { // std::cerr<<"ID real ="<