是否可以使用Poco Logger记录std::wstring
?
就像在这个简短的例子中一样:
int main(int argc, char** argv)
{
Logger& logger = Logger::get("Testlogger");
std::wstring WStringMessage = L"Message as a WString";
std::string StringMessage = "Message as a String";
//logger.information(WStringMessage); //Did not compile because it only takes a String
logger.information(StringMessage);
system("PAUSE");
return 0;
}
是否有可能的解决方案或我是否必须将每个std::wstring
转换为std::string
?
其他Poco库中std::wstring
支持如何支持XML?
答案 0 :(得分:1)
Poco接口仅为utf-8,因此您必须先将字符串转换为utf-8,然后再将其发送到记录器:
std::string msg;
Poco::UnicodeConverter::convert(WStringMessage, msg);
logger.information(msg);
对于XML,请参阅here,但基本上recomendation是相同的 - 使用utf-8。