Plugin ten służy do zapisywania informacji o otrzymanych i wysłanych wiadomościach, a także opcjonalnie zmianach statusu użytkowników z listy kontaktów.
Aby skorzystać z pluginu, należy ustawić zmienną
logsqlite:log
na 1
. Dane będą
logowane do pliku, który jest określony przez zmienną logsqlite:path
- domyślnie ~/.ekg2/logsqlite.db
. Jeśli ten plik nie
istnieje, to zostanie stworzony, razem z odpowiednią strukturą. Po
ustawieniu opcji logsqlite:log_status
logowane będą
także zmiany statusów osób z listy użytkowników.
Odpowiednie ustawienie zmiennej logsqlite:path
pozwala
na logowanie do różnych plików zależnie od daty i od sesji. Jest to
przydatna opcja, ponieważ baza może szybko urosnąć, spowalniając
działanie pluginu. W ścieżce wystarczy umieścić odpowiednie znaki, które
zostaną podmienione na generowane na bieżąco wartości.
%S
zostanie podmienione na nazwę sesji, a
%Y
, %M
i %D
zostanie podmienione na odpowiednio rok, miesiąc i dzień odebrania
wiadomości lub statusu.
Przykład 2.1. Przykłady ustawień zmiennej logsqlite:path
ekg2 nie zapewnia możliwości przeszukiwania stworzonej bazy danych,
oprócz polecenia logsqlite:last. Wyświetla ono
ostatnio zalogowane wiadomości - domyślną ilość wyświetlanych wiadomości
określa zmienna logsqlite:last_limit. Opcjonalnie, do polecenia można
podać parametr -n [liczba]
określający na bieżąco
ile wierszy ma być wyświetlone. Drugi opcjonalny parametr to
identyfikator użytkownika lub nazwa użytkownika z bieżącej sesji, którego
wiadomości mają być wyświetlane.
Domyślnie polecenie logsqlite:last wyświetla
wiadomości w bieżącym oknie. Można to zmienić przez ustawienie opcji
logsqlite:last_in_window
i
logsqlite:last_open_window
. Pierwsza z tych zmienny
określa, czy wiadomości wyświetlane przez
logsqlite:last mają być wyświetlane w okienku z
rozmową z danym użytkownikiem (wiadomości bez wskazania użytkownika będą
wyświetlane w oknie statusu). Po ustawieniu drugiej zmiennej na
1
ekg2 będzie otwierało okno z rozmową z danym
użytkownikiem jeśli ono nie istnieje.
session text - nazwa sesji uid text - id użytkownika, który wysłał wiadomość bądź ją odbierze nick text - pseudonim type text - typ wiadomości ("chat", "msg", "sys") sent boolean - czy wiadomość jest wysyłana czy odbierana ts timestamp - czas odebrania wiadomości sentts timestamp - czas wysłania wiadomości body text - treść wiadomości
Parametry. [opcje] [uid]
Krótki opis. wyświetla ostatnie zalogowane wiadomości
-n, --number <liczba> Ilość wiadomości do wyświetlenia -s, --search <tekst> Wyświetl tylko wiadomości zawierające podany tekst <uid> UID użytkownika którego wiadomości mają być wyświetlone
Parametry. [opcje] [uid]
Krótki opis. wyświetla ostatnie zalogowane zmiany statusów
-n, --number <liczba> Ilość statusów do wyświetlenia -s, --search <tekst> Wyświetl tylko statusy zawierające podany tekst <uid> UID użytkownika którego statusy mają być wyświetlone
Typ. liczba
Domyślna wartość. 0
określa, czy plugin loguje wiadomości
Typ. bool
Domyślna wartość. 0
określa, czy logujemy ignorowane wiadomości (NFY).
Typ. bool
Domyślna wartość. 0
określa, czy będą logowane zmiany stanu ludzi z listy (zmienna ,,log'' musi być różna od 0)
Typ. tekst
Domyślna wartość. ~/.ekg2/logsqlite.db
ścieżka do pliku z bazą danych. Jeśli plik nie istnieje, to zostanie stworzony. Rozpoznawane znaki: * %S - sesja nasza * %Y, %M, %D - rok, miesiąc, dzień Przykłady: - logowanie do katalogów wg. sesji: log_path = "~/.ekg2/logsqlite/%S.db" np. /home/users/leafnode/.ekg/logsqlite/gg:123.db - logowanie do katalogow wg. sesji (katalog) i daty (plik): log_path = "~/.ekg2/logsqlite/%S/%Y-%M-%D.db" np. /home/users/leafnode/.ekg2/logsqlite/jid:fr@h.pl/2004-05-31.db - logowanie do /tmp z sesją i datą: log_path = "/tmp/%S-%Y.%M.%D.db" np. /tmp/gg:31337-2004.05.31.db
Typ. liczba
Domyślna wartość. 10
maksymalna ilość wiadomości wyświetlanych przez polecenie logsqlite:last
Typ. liczba
Domyślna wartość. 10
maksymalna ilość wiadomości wyświetlanych przez polecenie logsqlite:laststatus
Typ. bool
Domyślna wartość. 0
określa czy wiadomości wyświetlane przez polecenie będą wyświetlane w oknie rozmowy z daną osobą. To, czy nieistniejące okienko będzie otwierane, określa zmienna logsqlite:last_open_window
Typ. bool
Domyślna wartość. 0
określa czy w przypadku wyświetlania wiadomości danej osoby przez lastlog w okienku rozmowy z nią, to okienko będzie otwierane jeśli jeszcze nie istnieje (ktoś zrozumiał co tu napisałem?)
Typ. bool
Domyślna wartość. 0
określa, czy po otwarciu nowego okna rozmowy, logsqlite wypisze w nim last_limit ostatnich wiadomości powiązanych z rozmówcą