我有多行代码触发记录器(INFO模式):
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
我遇到的问题是在相应QString::number()
调用的前面附加的额外空格(下面的空格标有#以使它们更加明显):
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)
在所有地方放置额外的空格,但对于LOG(INFO)
并不期望这样。
答案 0 :(得分:0)
根据这个:https://github.com/muflihun/easyloggingpp/issues/179,可以使用LoggingFlag::AutoSpacing
标记。
来自文档(https://github.com/muflihun/easyloggingpp#logging-flags):
您可以使用静态el :: Loggers :: addFlag和来设置/取消设置这些标志 埃尔::记录仪:: removeFlag。您可以检查是否有某个标志 通过使用el :: Loggers :: hasFlag可以获得所有这些函数 强类型枚举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));