log/tofile.cpp
#include <toast/log.hpp>
using namespace toast::log;
typedef logger<always_output, to_file<> > Log;
void tofile_log_example()
{
  Log log;
  log.open("example.log");
  log.message("When you're done here, go check out example.log!");
  log.message("Do a second run to see what happens.");
}
void tofile_rotation_log_example()
{
  Log log;
  log.open("example.log");
  log.max_size(size::KB * 5);
  log.max_rotated(5);
  for (unsigned int messages = 3000; messages > 0; --messages) {
    log.message("When you're done here, go check out example.log!");
    log.message("And, example.log.N");
    log.message("And, example.log.N-1");
    log.message("And .. oh, you get the idea ..");
  }
}
typedef logger<always_output, to_file<default_header_policy, newline, 
  rotation_policy<message_limit, roll_rotation> > > MessageLog;
void tofile_rotation_log_example2()
{
  MessageLog log;
  log.open("message.log");
  log.max_messages(1000);
  log.max_rotated(5);
  for (unsigned int messages = 3002; messages > 0; --messages) {
    log.message("Only 1000 of these will appear in each log, and then rotation!");
  }
}