I've made a small and simple patch to the 0.4.1 conferencing component to enable basic logging of rooms. You can switch on logging for a room you define in the configuration of the conference component instance, by adding a <log/> tag into a <room/> definition, like this:
<room jid='cellar@confpub-l.cicero'> <name>The Cellar</name> <log>/tmp/cellar.log</log> </room>
If you don't specify a name for the logfile in the <log/> tag, the JID of the room will be used.
Rooms not defined in the configuration cannot be logged (so you can't be accused of being Big Brother :-).
Typical log records look like this:
Thu Jul 12 12:37:03 2001 LOGGING STARTED Thu Jul 12 12:38:08 2001 dj has become available Thu Jul 12 12:38:14 2001 [dj] hello Thu Jul 12 12:38:15 2001 [dj] second line Thu Jul 12 12:38:52 2001 alpha has become available Thu Jul 12 12:38:57 2001 [alpha] hello this is alpha Thu Jul 12 12:39:01 2001 [alpha] second line from alpha Thu Jul 12 12:39:03 2001 alpha has left Thu Jul 12 12:39:14 2001 [dj] /me does a 'me' Thu Jul 12 12:39:48 2001 dj has left Thu Jul 12 12:39:58 2001 alpha has become available Thu Jul 12 12:40:02 2001 [alpha] me again Thu Jul 12 12:40:07 2001 alpha is now known as zoom Thu Jul 12 12:40:10 2001 [zoom] hi Thu Jul 12 12:40:11 2001 zoom has left
As you can see, it's basic, but it does the job for me.
I modified conference.h, conference.c and conference_room.c. A version of the conference-0.4.1.tar.gz tarball with the modifications already applied is here.
Don't forget that you can run a second (or Nth) instance of a component by setting it up with a unique ID and making sure you point to the correct directory (that contains the .so shared library) in Jabber; you don't have to replace your existing conferencing module to experiment like this.
Have fun.