Activity-Log

Nutzen Sie das Activity-Log um anmeldevorgänge, Downloads in eine Datenbank-Tabelle oder eine Datei zu loggen. easydbs, die eine Unterstützung für ein Datenbank basiertes Activity-Logging haben, sind von uns vorkonfiguriert. Ein Datei basiertes logging können Sie aber in jeder easydb 4 einrichten.

ACTIVITY_LOG_TABLE=<db table>
ACTIVITY_LOG_FILE=<filename>
ACTIVITY_LOG_FORMAT=%field% field ...
ACTIVITY_LOG=<activity>[,<activity>]
ACTIVITY_LOG.[default|<activity>].<[|**]field>=<php statement>

ACTIVITY_LOG legt fest, welche Aktivitäten geloggt werden.

ACTIVITY_LOG=logon,logout

Dies würde jeden Login und Logout-Vorgang loggen.

Sie können je Aktivität eine ein field mit einem Wert besetzten. Dazu schreiben Sie beispielsweise:

ACTIVITY_LOG.default.client_ip='%REMOTE_ADDR%'
ACTIVITY_LOG.default.zeitpunkt='%NOWTXT%'
ACTIVITY_LOG.logout.text="Logout %UID%."
ACTIVITY_LOG.logon.text="Login %UID%"

Hier werden für die Aktivitäten logout und login das Feld text unterschiedlich beschrieben. Für beide Aktivitäten werden die Felder zeitpunkt und client_ip geschrieben.

Wenn Sie in die Datenbank loggen, entsprechen text, zeitpunkt und client_ip dem Spalten-Namen der Tabelle, wenn Sie in eine Datei loggen, werden in dem durch ACTIVITY_LOG_FORMAT definierten String %text%, %client_ip% und %zeitpunkt% durch den definierten Text ersetzt. Achten Sie auf die Kleinschreibung der Variablen.

Sie können in eine Datenbank-Tabelle mit ACTIVITY_LOG_TABLE loggen oder in eine Datei ACTIVITY_LOG_FILE oder beides. Das Log-Format für die Datei bestimmen Sie mit ACTIVITY_LOG_FORMAT.

ACTIVITY_LOG_FILE=/var/opt/easydb/log/activity.log
ACTIVITY_LOG_FORMAT="[%zeitpunkt%] [%client_ip%] %text%"

Im Beispiel wird in das Logfile /var/opt/easydb/log/activity.log geschrieben. Das Format schreibt den Zeitpunkt und die Client-IP vor den definierten Text.

Mit dem Activity Log können Sie folgende Aktivitäten protokollieren:

Activity Beschreibung
LOGON Protokolliert, wenn sich ein Benutzer erfolgreich angemeldet hat (alle User, also auch Gast und User).
DOWNLOAD Protokolliert, wenn der Download-Manager eine Datei angefangen hat zu versenden.
LOGOUT Protokolliert, wenn ein Benutzer sich abmeldet.
ZIPTOOL Protokolliert, wenn eine Datei in ein ZIP verpackt wird. (ab Version 4.0.310)
EMAILTOOL Protokolliert, wenn eine Datei per E-Mail verschickt wird. (ab Version 4.0.310)

Die Activity default wird immer durchlaufen.

Folgende Variablen werden ersetzt:

Variable Activity Beschreibung
%UID% Alle Die User-ID des Benutzers. Achten Sie darauf, dass die %UID% immer in Anführungszeichen steht, damit kein Code-einschleusen durch den Benutzer-Namen möglich ist. Seit Version 4.0.287 werden nur noch ", ' und \ durch _ ersetzt.
%REMOTE_ADDR% Alle Die IP des Benutzers.
%NOW% Alle Der SQL-Term für die aktuelle Zeit. Benuten Sie das für Datenbank-Logging mit zwei vorangestellten Sternchen (siehe Beispiel unten)
%NOWTXT% Alle Das aktuelle Datum und Zeit in der Notation YY-MM-DD HH:MM.
%ASSET_ID% Download, EmailTool, ZipTool Die easydb-Asset-Server ID des Assets.
%ASSET_VERSION% Download, EmailTool, ZipTool Die Version des Assets.
%ASSET_WRITE_PROFILE% Download Das ausgewählte Metadaten-Profil. (ab Version 4.0.229)

Kompletteres Beispiel

# activity log
# Datenbank:
# ACTIVITY_LOG_TABLE=activity

# Textfile:
ACTIVITY_LOG_FILE=/tmp/activity.log
ACTIVITY_LOG_FORMAT="[%login%] [%client_ip%] [%zeitpunkt%] -- %activity%"

# Was wird geloggt?
ACTIVITY_LOG=logon,download,logout
ACTIVITY_LOG.default.login='%UID%'
ACTIVITY_LOG.default.client_ip='%REMOTE_ADDR%'
# Datenbank: 
# ACTIVITY_LOG.default.**zeitpunkt='%NOW%'
ACTIVITY_LOG.default.zeitpunkt='%NOWTXT%'

# Anmeldung
ACTIVITY_LOG.logon.type='Login'
ACTIVITY_LOG.logon.activity="User '%UID%' hat sich angemeldet."

# Abmeldung
ACTIVITY_LOG.logout.type='Logout'
ACTIVITY_LOG.logout.activity="User '%UID%' hat sich abgemeldet."

# Download
ACTIVITY_LOG.download.type='Download'
ACTIVITY_LOG.download.activity="Version '%ASSET_VERSION%' von Asset %ASSET_ID% heruntergeladen."

# Datenbank Zusatz_info in separaten Feldern
# ACTIVITY_LOG.download.item_id='%ASSET_ID%'
# ACTIVITY_LOG.download.version='%ASSET_VERSION%'

Ein einfaches An- und Abmelden des Benutzers admin wird dann so in /tmp/activity.log geschrieben:

[admin] [192.168.0.35] [2010-05-28 16:54] -- User 'admin' hat sich angemeldet.
[admin] [192.168.0.35] [2010-05-28 16:55] -- Version 'original' von Asset 247331 heruntergeladen.
[admin] [192.168.0.35] [2010-05-28 16:55] -- User 'admin' hat sich abgemeldet.