We're currently setting the property portal.error.email to a particular service account mailbox. We're then using the getmail software to pull these bugs out of that mailbox and into a directory hierarchy.

The getmail configuration looks like so:

_\[retriever\]_
_server = (address)_
_username = (secret)_
_password = (secret)_
_type = SimpleIMAPRetriever_

_\[destination\]_

type = Maildir
path = ~/maildir/

_\[options\]_
_verbose = 0_
_read_all = true_
_delete = true_

Then, we're executing the attached perl script via crontab:

5  * * * * ~/src/getmail-4.20.2/getmail -r getmail.rc -g ~/src/getmail-4.20.2
30 8 * * * ~/src/sakai-bug-stats/sakai-bug-stat-o-rama.pl yesterday daily
30 8 * * 1 ~/src/sakai-bug-stats/sakai-bug-stat-o-rama.pl yesterday weekly
30 8 1 1 * ~/src/sakai-bug-stats/sakai-bug-stat-o-rama.pl yesterday yearly

This script reads the contents of that directory, and produces a report such as the following:

Summary of daily Sakai bug reports for 2011-09-18:

browser-id => count:
Win-InternetExplorer => 204
Mac-Mozilla => 200
Win-Mozilla => 75
UnknownBrowser => 13
Lin-Mozilla => 3

service-version => count:
r501 => 495
empty => 1

user => count:
username1 (A) => 11
username2 (B) => 11
username3 (C) => 10
username4 (D) => 10
username5 (E) => 9

stack-trace-digest => count:
A9DE1A375BBE9CCC219AA9CD267852288227DAD3 => 145
EAAE775D71F8001E53C4BBDE6B894280887E1C0B => 126
22464E4B4BB89162A78C6C95A0F7D1BF727446BC => 46
3716613FF7DC158CDCC5F8DDFA7D6704DA34E887 => 31
D5706A5661DAA8A30374489B046C97714E29458D => 10

app-server => count:
sakaiapp-prod10.osg.ufl.edu => 76
sakaiapp-prod02.osg.ufl.edu => 66
sakaiapp-prod06.osg.ufl.edu => 64
sakaiapp-prod08.osg.ufl.edu => 57
sakaiapp-prod07.osg.ufl.edu => 56