Отображение журнала в строке для многострочного текста - PullRequest
12 голосов
/ 12 января 2011

говорят, что у меня многострочный текст "a \ nb \ nc";когда я регистрирую его, например, с помощью метода «debug», я получаю только один журнал;

это ожидаемое поведение, но затем строки, исключая первое, отображаются также слева в выводе:

1234 [1] [DEBUG] Test - a
b
c
1235 [1] [DEBUG] Test - ...

Простой обходной путь - создать по одному журналу на строку, чтобы получить:

1234 [1] [DEBUG] Test - a
1235 [1] [DEBUG] Test - b
1236 [1] [DEBUG] Test - c
1237 [1] [DEBUG] Test - ...

_

Существует ли способ автоматической обработки этого типая должен написать простую оболочку для управления этим параметром?

_

Заранее спасибо.

1 Ответ

10 голосов
/ 12 января 2011

Невозможно и не рекомендуется.

В вашем первом примере ясно, что существуют два оператора журнала, тогда как во втором примере можно сразу предположить, что их четыре.

Один оператор журнала должен предоставлять информацию из одного источника о том, что произошло и когда это произошло, и эта информация должна быть в некотором роде полезной.

Представьте, что у вас есть один оператор ошибки, например, исключение, которое будетохватывают около 30 строк из-за трассировки стека.Это выглядело бы как 30 ошибок в вашем случае, и автоматизированный инструмент может также сообщить об этом как 30 ошибок.Это неверная информация, и ее следует избегать.

Не говоря уже о том, что «один оператор журнала! = Один записанный журнал» может привести к хаосу синхронизации, когда вы работаете с более сложными ситуациями регистрации, когда несколько потоков записывают в один файлв то же время или, что еще хуже, несколько JVM делают это.

Если «слишком далеко слева» доставляет вам много горя, я бы предложил выполнить некоторую постобработку сгенерированного файла журнала, напримердобавляя 8 или около того пробелов в начале каждой строки, которая не содержит [DEBUG], [INFO], ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...