Hallo,
es wird wohl nicht möglich sein, über eine Einstellung in der log4j.properties ein Logging zu erreichen, bei dem sowohl die gewünschte Information enthalten ist sowie andererseits nicht übermäßig viele Einträge rausgeschrieben werden. Selbst über den Audit-Service wird es wahrscheinlich kaum eine Möglichkeit geben, da ein Download auf Service-Ebene nicht von einem in-place Lesen/Transformieren unterschieden werden kann. Anhand der Tomcat/Apache Access Logs kann man vielleicht was machen, was aber wiederum beschränkt auf HTTP Port 80 wäre und SharePoint, CIFS, NFS und FTP außen vor lässt.
Weitere Probleme, die sich stellen dürften:
- Wie sieht es mit Caching aus? Steht vor Alfresco ggf. ein Proxy Server, der Inhalte cached, sodass Alfresco von einem Download ggf. gar nichts mitbekommen kann?
- Wie sollen "abgebrochene"/"unterbrochene" Downloads gezählt/erkannt werden?
- Wie soll mit abschnittsweisen Downloads umgegangen werden? (z.B. lädt das Adobe 9 Plugin im IE nicht die komplette PDF auf einmal, sondern abschnittsweise mit mehreren Anfragen runter)
Ohne Implementierungseingriffe in Alfresco Bestandteile sehe ich hier wenig Chance, nur durch Konfiguration eine ansatzweise genaue Übersicht über Downloads zu erhalten.
Mit der Konfiguration der Audit Komponente zum Aufzeichnen der getReader()-Aufrufe im ContentService kann man zumindest im 1. Wurf alle lesenden Zugriffe erwischen, wobei dann nur ein Teil dieser Zugriffe echte Downloads wären - wie genau oder ungenau dieser Ansatz wäre, hängt stark vom Nutzerverhalten bzw. von interner Logik (z.B. Actions, Workflows und Policies) ab, welche derartige Aufrufe auslösen könnte ohne den Inhalt tatsächlich dem Nutzer aus zu liefern.
Gruß
Axel