Финансы без пpоблем: Пеpеговоpный Пункт II (http://hdru.com/cgi-bin/pp2/YaBB.cgi)
>> Готовые pешения, ФБП и законодательство >> LOG файл разбить на части
(Message started by: Vladimir на 23.06.12 в 05:35:41)

Заголовок: LOG файл разбить на части
Прислано пользователем Vladimir на 23.06.12 в 05:35:41
Для удобного просмотра LOG файла сервера полезно иметь соответствующую ОФ.

Однако, LOG файл очень длинниый, а нужно бывает только его часть за последние несколько дней. Грузить его весь в EXTRD.DAT, для последующей обработки, с помощью loadtxt значит тратить попусту ресурсы.

Я организовал ежедневное переименование файла LOG в файлы с именем вида YYYYMMDD.LOG. Таким образом, файл LOG оказывается разбит на части длиной в один день. Работать с такими LOGами значительно быстрее и удобнее.

Делается это запуском BAT файла планировщиком Windows, например в 23:59 ночи. BAT файл имеет следующий вид (вся эта наука пишется в одну строку):


for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename "log" %%f%%e%%d.log

Информация почерпнута отсюда

http://www.computerhope.com/issues/ch000987.htm

Заголовок: Re: LOG файл разбить на части
Прислано пользователем alushta на 23.06.12 в 11:13:29
Спасибо за идею и ее реализацию...

Заголовок: Re: LOG файл разбить на части
Прислано пользователем Vladimir на 22.12.14 в 00:09:47
В продолжение темы.

Эти log-и удобно хранить в какой-нибудь отдельной директории, например logs\.
Предположим база знаний лежит в C:\FIN\DATA\ и имеется директория cd C:\FIN\DATA\LOGS\,
тогда сл. bat файл сделает то, что нужно:

cd C:\FIN\DATA\
REM Переименуем LOG в <date>.log
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename log %%f%%e%%d.log
REM Скопируем <date>.log в директорию logs\
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do copy %%f%%e%%d.log logs\
REM удалим <date>.log
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do del %%f%%e%%d.log

Попутно отмечу, что вот такая конструкция делает все эти три шага за один

for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename log logs\%%f%%e%%d.log

но работает только под WindowsXP и ниже. Если у вас серер на W7, то придется делать в три этапа.

Заголовок: Re: LOG файл разбить на части
Прислано пользователем Boris, Kiev. на 22.12.14 в 16:48:09

on 06/23/12 в 11:13:29, alushta wrote:
Спасибо за идею и ее реализацию...


Разбивать по дням не всегда удобно. Дней масса и поиск в файлах каталога, согласитесь - не очень.
Делать поиск по большому логу быстро и просто, также обрабатывать большие логи через loadtxt быстрее и удобнее, и все эти обработки относятся ведь не к штатной работе пользователей.
Согласен, при громадном логе, в зависимости от х32 или х64, будут неудобства загрузки и анализа.
Поэтому сделайте проще в форме завершающей работу сервера:
- проверьте наличие и объем лога([fe..)
- если размер превышает вашу экспертную величину, то переименуйте(renamefile работает без сбоев) его в архивный, c именем, как вам нравится.

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



Powered by YaBB 1 Gold - SP 1.3.2!
Forum software copyright й 2000-2004 Yet another Bulletin Board