Буфер журнала за пределами 8 Кб в профиле WAS Liberty

#websphere-liberty #open-liberty

#websphere-liberty #открыть-liberty

Вопрос:

Я пишу одну полезную нагрузку json на строку в консоли Liberty (не используйте стороннюю библиотеку) и собираю их в LogDNA. Это работает нормально, пока полезная нагрузка меньше 8 кб. Помимо этого полезная нагрузка json обрезается новой строкой и не может быть обработана в LogDNA. Есть ли какие-либо настройки liberty для выхода за пределы этого предела?

Ответ №1:

Это может быть по нескольким известным причинам. (Я вижу, что вы не используете стороннюю библиотеку, но я включаю обе причины для полноты на случай, если другие ищут причины этого).

  1. Log4J — Если вы создаете журналы с более старой версией Log4J, используя консольное приложение, оно разобьет ваши записи журнала на 8 кб блоков, прежде чем записать их в System.out (см. https://github.com/OpenLiberty/open-liberty/issues/14197 ). Переход на более новую версию log4J исправил бы это.
  2. Liberty — Если вы используете более старую версию WebSphere Liberty / Open Liberty (до 19.0.0.5) и записываете журналы на консоль, они были разбиты на 8 кб фрагментов (см. https://github.com/OpenLiberty/open-liberty/issues/6095 ). Переключение на более новую версию Liberty исправило бы это.

Комментарии:

1. Для справки, мы смогли воспроизвести проблему в последней версии. Мы использовали JUL ConsoleHandler, который вводил эту буферизацию 8 КБ. Использование обработчика JUL напрямую устраняет проблему.