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).

ParametrRodzaj serwisuKodowanieLokalizacja pliku dziennika
<sid>SOWA1WINDOWS-1250sowa1/log/<sid>.log
<sid>SOWA2WINDOWS-1250sowa2/log/<sid>.log
<sid>RozproszonyWINDOWS-1250rozproszony/log/<sid>.log
<sid>SOWASQLUTF-8sowa_sql/katalogi/<sid>/log/log.txt
z3950Serwer Z39.50UTF-8z39.50/log/z3950.log
ssakerSSAKERUTF-8.sowang/var/log/ssaker.log
smailerSMAILERUTF-8.sowang/var/log/smailer.log
wsioSerwer integrującyUTF-8.sowang/var/log/wsio.log
sip2Serwer SIP2UTF-8.sowang/var/log/sip2.log
sowaipmhSerwer OAI-PMHUTF-8.sowang/var/log/sowaipmh.log
sowizorSOWIZORUTF-8.sowang/var/log/sowizor.log