Gibt es in boost::log
eine Möglichkeit, nur einen Teil der Protokollnachricht zu berücksichtigen, wenn sie zu lang ist (z. B. 1000 Zeichen)? Dies wäre nützlich, wenn variabler Inhalt verfolgt werden soll, wobei die Gesamtheit der Informationen nicht zwingend erforderlich ist, um die benötigten Informationen herauszufinden.Boost Log cut lange Protokollmeldungen
Zum Beispiel: Wenn ich einen String mit der Dateiliste aus dem aktuellen Verzeichnis drucke, muss ich nicht die gesamte Liste sehen, um zu wissen, ob das Dateisystem erfolgreich gescannt wurde.
boost::log::add_file_log
(
boost::log::keywords::file_name = "logs/Log_%Y-%m-%d_%H-%M-%S.log",
boost::log::keywords::rotation_size = 10 * 1024 * 1024,
boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 0),
boost::log::keywords::auto_flush = true,
boost::log::keywords::format =
(
boost::log::expressions::stream
<< boost::log::expressions::format_date_time<boost::posix_time::ptime>("TimeStamp", "%Y-%m-%d %H:%M:%S:%f")
<< " [" << boost::log::expressions::attr<boost::log::attributes::current_thread_id::value_type>("ThreadID") << "]"
<< ": <" << boost::log::trivial::severity << "> "
<< boost::log::expressions::smessage
)
);
Z. B .: kann boost::log::expressions::smessage
wie boost::log::expressions::smessage::substr(0, 1000)
oder in irgendeiner anderen Art und Weise angepasst werden?