23 Aralık 2016 Cuma

log sinks text_ostream_backend Sınıfı

Giriş
Bu sınıf bir sink ile beraber yaratılır. Şöyle yaparız.
// Initialize sink.
typedef boost::log::sinks::synchronous_sink
  <boost::log::sinks::text_ostream_backend> text_sink;

boost::shared_ptr<text_sink> sink = boost::make_shared<text_sink>();
Şöyle yaparız.
using text_sink = sinks::synchronous_sink< sinks::text_ostream_backend >;
boost::shared_ptr< text_sink > sink = boost::make_shared< text_sink >();
add_stream metodu
ofstream eklemek için şöyle yaparız.
sink->locked_backend()->add_stream(
  boost::make_shared< std::ofstream >("regular.log"));
auto_flush metodu
Açıklaması şöyle. Bu parametre sink ile ilgili backend ile ilgili değil deniyor. Ancak o zaman niçin backend sınıfına ait bir şey ben de anlamadım.
First, auto_flush makes the sink flush its buffers after each log record is written, whether or not it contains a newline. Second, auto_flush can only be enabled or disabled on per-sink basis. In the particular case of text_ostream_backend it means either all streams attached to the sink will be flushed, or none of them.

Şöyle yaparız.
sink->locked_backend()->auto_flush (false);

Hiç yorum yok:

Yorum Gönder