24 #include "dccl/logger.h"
28 int dccl::internal::LogBuffer::sync() {
30 while(buffer_.size() > 1) {
31 display(buffer_.front());
34 verbosity_ = logger::INFO;
35 group_ = logger::GENERAL;
40 int dccl::internal::LogBuffer::overflow(
int c) {
41 if (c == EOF) {
return c; }
42 else if(c ==
'\n') { buffer_.push_back(std::string()); }
43 else { buffer_.back().push_back(c); }
47 void dccl::to_ostream(
const std::string& msg, dccl::logger::Verbosity vrb,
48 dccl::logger::Group grp, std::ostream* os,
55 case logger::GENERAL:
break;
56 case logger::ENCODE: grp_str =
"{encode}: ";
break;
57 case logger::DECODE: grp_str =
"{decode}: ";
break;
58 case logger::SIZE: grp_str =
"{size}: ";
break;
61 std::time_t now = std::time(0);
62 std::tm* t = std::gmtime(&now);
66 *os <<
"[ " << (t->tm_year+1900) <<
"-"
67 << std::setw(2) << std::setfill(
'0') << (t->tm_mon+1) <<
"-"
68 << std::setw(2) << t->tm_mday
70 << std::setw(2) << t->tm_hour <<
":"
71 << std::setw(2) << t->tm_min <<
":"
72 << std::setw(2) << t->tm_sec <<
" ]: "
76 *os << grp_str << msg << std::endl;