Простой формат файла журнала - PullRequest
7 голосов
/ 11 мая 2010

Я не уверен, если это спросили, но я не мог найти ничего подобного.

Моя программа использует простой файл .txt для ведения журнала. Она просто создает / открывает файл и добавляет строки.

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

Итак, я подумал, может быть, есть простой формат файла для файлов журнала и программа для его просмотра, или у вас есть какие-либо другие предложения по этому вопросу?

Заранее спасибо за помощь.

ОБНОВЛЕНИЕ:

Это приложение access 97. Я регистрирую некоторые действия, такие как загрузка формы, SELECT / INSERT / UPDATE для MS SQL Server ... Файл журнала не очень большой, я просто записываю продолжительность операций, поэтому мне нужен простой способ сделать это.

Файл журнала создается на компьютере пользователя. Он используется для целей мониторинга, регистрируя продолжительность некоторых действий.

Есть ли способ просмотра такого простого файла журнала, выделенного существующим инструментом?

Просто я бы хотел:

1) Записать что-то вроде "'CurrentTime' 'ActivityName' 'Длительность в миллисекундах'" (возможно, некоторая дополнительная информация, например строка запроса) в файл.

2) Откройте его инструментом и просмотрите его выделенным или как-то более читабельным.

ОТВЕТ: Я нашел хороший инструмент, чтобы делать все, что я хотел. Проверьте мой ответ.

LogExpert

Ответы [ 8 ]

4 голосов
/ 11 мая 2010

3 Вт:

Когда, что и где.

Для просмотра чего-то вроде мультитейла ("хвост на стероидах") http://www.vanheusden.com/multitail/

или для чистых окон ms попробуйте mtail http://ophilipp.free.fr/op_tail.htm

И чтобы ваши файлы были читабельными, вы можете запускать новые файлы, если размер файла текущего файла журнала превышает определенный лимит. Пример:

  • activity0.log (1 МБ)
  • Activity1.log (1 МБ)
  • activity2.log (1 МБ)
  • activity3.log (1 МБ)
  • activity4.log (205 байт)
2 голосов
/ 11 мая 2010

Довольно стандартный способ ведения журнала из приложения в текстовом файле:

  • разбить журналы на различные функциональные области программы.
  • вращать журналы на ежедневной / еженедельной основе (т.е. делить журнал на размер или дату)
    • поэтому текущий журнал «mylog.log» или что-то еще, а вчерашний был «mylog.log.1» или «mylog.ddmmyyyy.log»

Это позволяет управлять размером активного журнала. И тогда вы можете просто иметь правила истечения срока действия, чтобы старые журналы регулярно выбрасывались.

Кроме того, было бы неплохо иметь разные уровни журнала для вашего приложения (информация / предупреждение / ошибка / неустранимый), чтобы вы не регистрировали больше, чем необходимо.

1 голос
/ 14 мая 2010

LogExpert

Я нашел это здесь. Фильтр лучше, чем в mtail . Есть возможность выделить просто добавив строку, и приложение приятно и читабельно. Вы можете настроить столбцы так, как вам нравится.

https://stackoverflow.com/questions/113121/best-tail-log-file-visualization-freeware-tool

1 голос
/ 11 мая 2010

Если это программа, вы можете исследовать библиотеки журналов apache (http://logging.apache.org/) Из коробки, они дадут вам достойный формат регистрации из коробки. Они также настраиваемы, поэтому упростить вашу работу разбора.

Если это сценарий, см. Некоторые другие ответы.

1 голос
/ 11 мая 2010

Если проблема заключается только в размере файла журнала, я рекомендую использовать logrotate или что-то подобное. logrotate просматривает файлы журнала и, в зависимости от того, как вы его настроили, по истечении заданного времени или когда файл журнала превышает заданный размер, перемещает файл журнала в каталог архива и при необходимости сжимает его. Затем исходный файл журнала усекается. Например, вы можете настроить его для архивирования файла журнала каждые 24 часа или всякий раз, когда размер файла превышает 500 КБ.

1 голос
/ 11 мая 2010

Посмотрите на популярные журналы, такие как / var / log / syslog в Unix, чтобы получить идеи:

MMM DD HH:MM:SS hostname process[pid]: message

Пример из моего системного журнала:

May 11 12:58:39 raphaelm anacron[1086]: Normal exit (1 job run)

Но чтобы дать вам идеальный ответ, нам понадобится дополнительная информация о том, что вы регистрируете, сколько и как вы хотите читать журналы.

1 голос
/ 11 мая 2010

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

Если вы работаете в системе Linux, grep - ваш лучший инструмент для поиска в журналах определенных записей.

1 голос
/ 11 мая 2010

Во-первых, проверьте, что вы регистрируете только полезные вещи.

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

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

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