Дополнительное пространство вставляется при регистрации QString с easylogging ++

У меня есть несколько строк кода, где запускается регистратор (режим 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() call (пробелы ниже помечены #, чтобы сделать их более заметными):

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),

1

Решение

Согласно этому: https://github.com/muflihun/easyloggingpp/issues/179, LoggingFlag::AutoSpacing флаг доступен.

Из документации (на https://github.com/muflihun/easyloggingpp#logging-flags):

Вы можете установить / снять эти флаги, используя статические el :: Loggers :: addFlag и
El :: Лесорубы :: removeFlag. Вы можете проверить, является ли определенный флаг
доступны с помощью el :: Loggers :: hasFlag, все эти функции принимают
строго типизированный 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));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]