使用 easylogging++ 记录 QString 时插入额外 space
Extra space inserted when logging QString with easylogging++
我有多行代码触发记录器(信息模式):
LOG(INFO) << connectionsBOther.at(connectionIdx).line
<< " (" << QString::number(connectionsBOther.at(connectionIdx).direction) << ") | "
<< connectionsBOther.at(connectionIdx).directionTarget
<< " "
<< QString::number(connectionsBOther.at(connectionIdx).departureRelative);
输出示例如下:
2017-11-29 14:38:07,643 INFO [default] M85 ( 2) | Hello 1
我遇到的问题是额外的 space 似乎附加在相应 QString::number()
调用的前面(下面的 spaces 标有 # 以使其成为更明显):
2017-11-29 14:38:07,643 INFO [default] M85#(#2)#|##Hello##1
我正在寻找以下输出:
2017-11-29 14:38:07,643 INFO [default] M85#(2)#|#Hello#1
我需要为此输出使用 INFO。我习惯于 LOG(DEBUG)
在各处放置额外的 space,但没想到 LOG(INFO)
.
会这样
据此:https://github.com/muflihun/easyloggingpp/issues/179,一个 LoggingFlag::AutoSpacing
标志可用。
来自文档(在 https://github.com/muflihun/easyloggingpp#logging-flags):
You can set/unset these flags by using static el::Loggers::addFlag and
el::Loggers::removeFlag. You can check to see if certain flag is
available by using el::Loggers::hasFlag, all these functions take
strongly-typed enum el::LoggingFlag
我认为你应该取消设置上面提到的标志以避免自动间距(即从你的日志中删除额外的空格)。
更新:
如果不使用 <<
运算符对您来说不是问题,您可以随时使用连接:
LOG(INFO) << QString(connectionsBOther.at(connectionIdx).line
+ " (" + QString::number(connectionsBOther.at(connectionIdx).direction) + ") | "
+ connectionsBOther.at(connectionIdx).directionTarget
+ " "
+ QString::number(connectionsBOther.at(connectionIdx).departureRelative));
我有多行代码触发记录器(信息模式):
LOG(INFO) << connectionsBOther.at(connectionIdx).line
<< " (" << QString::number(connectionsBOther.at(connectionIdx).direction) << ") | "
<< connectionsBOther.at(connectionIdx).directionTarget
<< " "
<< QString::number(connectionsBOther.at(connectionIdx).departureRelative);
输出示例如下:
2017-11-29 14:38:07,643 INFO [default] M85 ( 2) | Hello 1
我遇到的问题是额外的 space 似乎附加在相应 QString::number()
调用的前面(下面的 spaces 标有 # 以使其成为更明显):
2017-11-29 14:38:07,643 INFO [default] M85#(#2)#|##Hello##1
我正在寻找以下输出:
2017-11-29 14:38:07,643 INFO [default] M85#(2)#|#Hello#1
我需要为此输出使用 INFO。我习惯于 LOG(DEBUG)
在各处放置额外的 space,但没想到 LOG(INFO)
.
据此:https://github.com/muflihun/easyloggingpp/issues/179,一个 LoggingFlag::AutoSpacing
标志可用。
来自文档(在 https://github.com/muflihun/easyloggingpp#logging-flags):
You can set/unset these flags by using static el::Loggers::addFlag and el::Loggers::removeFlag. You can check to see if certain flag is available by using el::Loggers::hasFlag, all these functions take strongly-typed enum el::LoggingFlag
我认为你应该取消设置上面提到的标志以避免自动间距(即从你的日志中删除额外的空格)。
更新:
如果不使用 <<
运算符对您来说不是问题,您可以随时使用连接:
LOG(INFO) << QString(connectionsBOther.at(connectionIdx).line
+ " (" + QString::number(connectionsBOther.at(connectionIdx).direction) + ") | "
+ connectionsBOther.at(connectionIdx).directionTarget
+ " "
+ QString::number(connectionsBOther.at(connectionIdx).departureRelative));