log

log

Polecenie "log"

Polecenie to ułatwia podgląd plików dziennika (logów) poszczególnych serwisów, a także na ich "rotowanie".

Składnia

sowizor log <filter>|<path>.log [-f] sowizor log <filter>|<path>.log rotate [<size>] [--with-grep]

Jako parametr polecenia trzeba podać albo wyrażenie filtrujące (np. część  identyfikatora serwisu <sid>, typ serwisu, nr licencji itp.), albo nazwę konkretnego serwisu (zob. tabela plików dziennika). Można też podać jako parametr bezpośrednią ścieżkę do pliku dziennika - pod warunkiem że jest to plik z rozszerzeniem .log. W przypadku dopasowania wyrażenia filtrującego do kilku serwisów - program poprosi o wybór właściwego.

Wyświetlanie pliku dziennika

Wywołanie polecenia wyświetla ostatnie 1000 wierszy pliku dziennika. Dokonywana jest przy tym automatyczna konwersja strony kodowej pliku dziennika (zob. tabela plików dziennika) na kodowanie aktualnego terminala (zwykle będzie to UTF-8).

Podanie opcjonalnego argumentu -f (lub w wersji długiej: --follow) - pozwala na bieżąco podglądać plik dziennika i wyświetlać nowe wartości, które się w nim pojawiają. W tym przypadku, przed rozpoczęciem nasłuchiwania, wyświetlone zostanie ostatnich 20 wierszy.

Przykład podgląd plików dziennika
sowizor log krakow_podgorska sowizor log smailer sowizor log smailer -f sowizor log /var/log/apache2/error.log

Rotowanie pliku dziennika

Rotowanie oznacza zarchiwizowanie bieżącej zawartości pliku dziennika. Pozwala to ograniczać wielkość pliku dziennika.

Bieżący plik dziennika (np. nazwa.log) jest w procesie rotowania przemianowywany na plik z rozszerzeniem .1 (np. nazwa.log.1), a następnie kompresowana za pomocą gzip (np. nazwa.log.1.gz). W przypadku cyklicznych rotowań, gdy już są obecne pliki z rozszerzeniem .<numer> lub .<numer.gz - są one odpowiednio przemianowywane (zwiększany jest numer o 1).

Standardowo rotacja jest wykonywana bezwarunkowo (niezależnie od aktualnej wielkości pliku). Zwykle jednak ma ona sens tylko wtedy, gdy plik dziennika jest już odpowiednio duży. Do tego służy opcjonalny parametr <size> - rotacja zostanie wykonana tylko pod warunkiem, że wielkość pliku dziennika jest większa od podanej wartości. Można wielkość wyrazić za pomocą liczby i odpowiedniego sufiksu określającego mnożnik (b - bajty, k - kilobajty, m - megabajty, g - gigabajty). Brak sufiksu jest równoważny wartości w bajtach.

Przykład rotacji pliku dziennika
sowizor log z3950 rotate sowizor log krakow_podgorska_ks rotate 100m sowizor log krakow_podgorska_ks rotate 104857600

Ostatnie dwa przykłady są równoważne - wykonują rotację pliku dziennika dla serwisu krakow_podgorska_ks pod warunkiem, że jego wielkość przekracza 100 megabajtów.

Opcja rotowania ma dodatkowy przełącznik w przypadku serwisów SOWA2 - opcja --with-grep powoduje, że z aktualnego pliku dziennika wyciągane są wartości do analiz operacji samoobsługowych oraz edycji rekordów (pliki .books i .edits).

Tabela plików dziennika

Poniższa tabela precyzuje jakie konkretnie pliki dzienników są obsługiwane w zależności od rodzaju serwisu (w przypadku podania identyfikatora <sid> serwisu jego rodzaj jest sprawdzany dynamicznie).

Parametr

Rodzaj serwisu

Kodowanie

Lokalizacja pliku dziennika

Parametr

Rodzaj serwisu

Kodowanie

Lokalizacja pliku dziennika

<sid>

SOWA1

WINDOWS-1250

sowa1/log/<sid>.log

<sid>

SOWA2

WINDOWS-1250

sowa2/log/<sid>.log

<sid>

Rozproszony

WINDOWS-1250

rozproszony/log/<sid>.log

<sid>

SOWASQL

UTF-8

sowa_sql/katalogi/<sid>/log/log.txt

z3950

Serwer Z39.50

UTF-8

z39.50/log/z3950.log

ssaker

SSAKER

UTF-8

.sowang/var/log/ssaker.log

smailer

SMAILER

UTF-8

.sowang/var/log/smailer.log

wsio

Serwer integrujący

UTF-8

.sowang/var/log/wsio.log

sip2

Serwer SIP2

UTF-8

.sowang/var/log/sip2.log

sowaipmh

Serwer OAI-PMH

UTF-8

.sowang/var/log/sowaipmh.log

sowizor

SOWIZOR

UTF-8

.sowang/var/log/sowizor.log