У меня есть несколько строк кода, где запускается регистратор (режим 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)
,
Согласно этому: 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));
Других решений пока нет …