Alien-libpanda

 view release on metacpan or  search on metacpan

src/panda/log.cc  view on Meta::CPAN

    const char* whitespaces = "                        "; // 24 spaces
    if (total < 24) {
        whitespaces += total;
    } else {
        whitespaces = "";
    }
    stream << cp.file << ":" << cp.line << whitespaces;
    return stream;
}

std::ostream& operator<< (std::ostream& stream, const escaped& str) {
   for (auto c : str.src) {
       if (c > 31) {
           stream << c;
       } else {
           stream << "\\" << std::setfill('0') << std::setw(2) << uint32_t(uint8_t(c));
       }
   }
   return stream;
}

src/panda/log.h  view on Meta::CPAN

void set_level  (Level, const string& name = "");
void set_logger (ILogger*);

template <class Func, typename = std::enable_if_t<!std::is_base_of<ILogger, std::remove_cv_t<std::remove_pointer_t<Func>>>::value>>
void set_logger (const Func& f) { set_logger(new details::CallbackLogger<Func>(f)); }

inline bool should_log (Level level, const CodePoint& cp, const Module& module) {
    return level >= module.level && details::ilogger && details::ilogger->should_log(level, cp);
}

struct escaped {
    string_view src;
};
std::ostream& operator<< (std::ostream&, const escaped&);

}
}
extern panda::log::Module* panda_log_module;



( run in 0.667 second using v1.01-cache-2.11-cpan-c21f80fb71c )