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