Ich möchte Schweregrad ohne Neukompilierung anpassen, so dass ich init_from_stream zu Schweregrad aus Datei lesen. Andere Optionen Ich brauche keine Laufzeitänderung, daher wird ihre Einstellung wie zuvor von der boost.log API vorgenommen.boost.log Config Log-Schweregrad von Config-Datei
Die Konfigurationsdatei ist:
[Core]
DisableLogging=false
Filter="%Severity% >= 0"
Der Code ist:
std::ifstream file("log_setting.ini");
boost::log::init_from_stream(file);
boost::log::register_simple_formatter_factory< severity_level, char >("Severity");
// following is same as before(all setting is by calling API, and comment out severity settings)
boost::shared_ptr<boost::log::core> core = boost::log::core::get();
core->set_exception_handler(boost::log::make_exception_suppressor());
//add and set sinks
Aber ich fand die init von Datei mit "traditioneller API Einstellung" exklusiv scheint, wenn ich init_from_stream
hinzufügen, gibt es nichts ausloggen.
Meine Anforderung ist Verwendung Einstellung Datei, um einige Teile der Parameter zu steuern, die ich brauche Laufzeit ändern, aber nicht alle von ihnen.
Also das Design-Ziel von init_from_stream ist init-Protokoll aus Datei ändern Sie Einstellungen des aktuellen Protokolls – jean