Як агрегувати та сортувати в режимі реального часу stout / журнали на Mac?


0

Я розробляю програму rails and scala, яка використовує MySQL, Redis, MongoDB і запам’ятовується на OSX.

Мені досить прикро, щоб завжди було відкрито 6 терміналів і проходити там журнали, тому мені було цікаво, чи є інструмент, який дозволяє мені запускати програми, а потім захоплювати stdout / log до socket (або хвіст журналу, якщо це тільки вихід) та об'єднати його з префіксами для початку

[MySQL        - 00pid00] SELECT .......
[Rails Server - 11pid11] GET request to /foo
...

В ідеалі я також можу сортувати та фільтрувати, як Apache Chainsaw дозволяє log4j та створювати власні поля на основі регулярного вираження (тобто, коли є помилка, покажіть мені поле, яке відображає лише URL-адресу помилки та HTTP-відповідь / файл + рядок, що викликав помилку.

(Я знаю sed awk grep and co, але GUI набагато простіше у використанні та набагато швидше для початку)

Відповіді:


0

Якщо ви можете налаштувати кожну з цих систем для входу у файли, ви можете створити хвіст із цих ланцюгів із Chainsaw та об'єднати записи журналу в одну таблицю. Ось як:

  • Відкрийте найновіший знімок розробника Chainsaw: http://people.apache.org/~sdeboy
  • Перейдіть на вкладку "Ласкаво просимо" та натисніть кнопку "Переглянути приклад конфігурації приймача" у верхній частині вкладки та скопіюйте конфігурацію.
    • Найпростіший logFormat - MESSAGE - він розмістить кожен рядок журналу в полі MESSAGE рядок на Chainsaw.
    • Можна Chainsaw проаналізувати рядок журналу, використовуючи поля, визначені в javadoc LogFilePatternReceiver: http://logging.apache.org/log4j/companions/receivers/apidocs/org/apache/log4j/varia/LogFilePatternReceiver.html
    • Зверніть увагу, якщо ваш формат журналу охоплює кілька рядків, ви можете використовувати (LF) для подання стрічки (ще не в тому JavaDoc)
  • Після того, як усі ваші файли журналів відображаються на Chainsaw як окремі вкладки, ви можете зібрати всі події з усіх вкладок на новій вкладці, визначивши вираз, який відповідає подіям, які ви хотіли б побачити (див. Довідку / Підручник для документації щодо вираження синтаксис).
    • Підказка: очистіть і призупиніть вкладку журналу бензопили (з меню "поточна вкладка"), щоб переконатися, що повідомлення журналу бензопили не змішуються з вашими
    • Виберіть "переглянути, створити вкладку з виразу"
    • Найпростішим виразом, який буде відповідати всім записам на всіх вкладках, є MSG EXISTS
    • буде створена нова вкладка з вашим виразом і заповнена всіма існуючими подіями, що відповідають виразу
    • в міру надходження нових подій, які відповідають виразу, вони будуть додані до оригінальної вкладки, а також до вкладки виразів

1

Ви можете додати в стандарт власні файли журналів /Applications/Utilities/Console.app

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.