Giriş
add_file_log metodu bizim için bu sınıfı otomatik yaratır.
Constructor
Şöyle yaparız.
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.
"file_name" kullanılacak örüntüyü belirtir. Dosya kapatılınca bir collector'a verilir. collector eğer gerekiyorsa dosya ile bir işlem yapar. Daha sonra örüntüye göre yeni bir dosya açılır.
%Y - year
%m - month
%d - day
%N - number
içindir.
Şöyle yaparız.
Tek bir dosyanın olması gerekn büyüklüğünü belirtir. Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Toplam dosya boyutu belli bir büyüklüğe gelince eski dosyaları siler. Şöyle yaparız.
add_file_log metodu bizim için bu sınıfı otomatik yaratır.
Constructor
Şöyle yaparız.
boost::shared_ptr< sinks::text_file_backend > pBackend =
  boost::make_shared< sinks::text_file_backend >(...);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.
keywords::auto_flush = false"file_name" kullanılacak örüntüyü belirtir. Dosya kapatılınca bir collector'a verilir. collector eğer gerekiyorsa dosya ile bir işlem yapar. Daha sonra örüntüye göre yeni bir dosya açılır.
%Y - year
%m - month
%d - day
%N - number
içindir.
Şöyle yaparız.
logging::keywords::file_name = "file_%5N.log"".report.log.%Y_%m_%d.%N.log"Tek bir dosyanın olması gerekn büyüklüğünü belirtir. Şöyle yaparız.
logging::keywords::rotation_size = 5 * 1024 * 1024Şöyle yaparız.
logging::keywords::time_based_rotation =
  sinks::file::rotation_at_time_point(12, 0, 0)keywords::time_based_rotation =
  sinks::file::rotation_at_time_point(0, 0, 0)Şöyle yaparız.
pBackend->scan_for_files ();Toplam dosya boyutu belli bir büyüklüğe gelince eski dosyaları siler. Şöyle yaparız.
boost::shared_ptr<sinks::file::collector> pReportCollector = ...;
pBackend->set_file_collector (pReportCollector);sink->locked_backend()->set_file_collector(sinks::file::make_collector(
  keywords::target = m_dirLocation,
  keywords::max_size = 1 * 1024));sink->locked_backend()->set_file_collector(sinks::file::make_collector(
  keywords::target = "/var/log/testApp/oldLogs",
  keywords::max_size = 5 * 1024 * 1024 * 2,
  keywords::min_free_space = 5 * 1024 * 1024 * 2,
  keywords::max_files = 2));
 
Hiç yorum yok:
Yorum Gönder