#pragma once
#include "glog/logging.h"
class TagLog {
public:
TagLog() = default;
explicit TagLog(const std::string& tag) : default_tags(tag){}
void AddDefaultTags(const std::string& tag) {
if (default_tags.empty())
default_tags = tag;
else
default_tags += "|" + tag;
}
std::basic_ostream<char> &Log(std::basic_ostream<char>& ostream = LOG(INFO)) const {
return ostream << "[" + default_tags + "]";
}
std::basic_ostream<char> &Log(const std::string& extra_tag, std::basic_ostream<char>& ostream = LOG(INFO)) const {
return ostream << "[" + default_tags + "|" + extra_tag + "]";
}
private:
std::string default_tags;
};