Избегайте обратной косой черты, двойных кавычек и других специальных символов в каркасе log4cxx - PullRequest
0 голосов
/ 15 марта 2019

Я использую каркас log4cxx в своем приложении для ведения журнала.Я записываю каждую строку как json в текстовом (.txt) файле.

Пример строки Json:

{"timestamp":"2019-03-15 12:51:39,949","severity":"INFO ","threadid":"0x00000000","method":"method1","stacktrace":"..\project\project.cpp(1)","message":{"message":"Test"s message","type":"test type"}}

Когда я пытаюсь выполнить синтаксический анализ этой строки json, происходит сбой из-за обратной косой черты в stacktrace и doubleкавычки в атрибуте message .

Я искал опции каркаса log4cxx, если значения атрибута содержат какие-либо специальные символы, которые можно экранировать, но, к сожалению, я не получаю никакой опции по умолчанию, доступной в каркаседля экранирования двойных кавычек, обратной косой черты, новой строки и т. д. Есть ли какая-либо конфигурация по умолчанию, или мы должны экранировать символы и передать ее в LOG4CXX_INFO, а также как мы можем обработать значение stacktrace?

...