ActivityTracker is a plugin I wrote as a stepping stone to an anti-grief plugin I'm working on called Heimdall, which will do hueristic analysis of player activity to automatically detect griefing behavior. ActivityTracker logs all player activities to a single log file (per player) for easy analysis, it's intended use is to be turned on for your "guest" rank so you have a single log of all activity that your guests (often griefers) perform. To accomplish this, it has a permission list and anyone who has those permissions will be tracked, anyone who does not will be ignored by this plugin.
ActivityTracker will hook into LogBlock (if you have it) to determine block owners, and block destruction that is not owned by the player is flagged for easy grep'ing in the logfile:
# grep "NOT BLOCK OWNER" maxx1910.log [12/18/11 11:06:53 AM] block broken at {1dot8,x=-1501,y=54,z=1681}, blockType=TORCH, lbOwner=graemejr, blockData=2 ** NOT BLOCK OWNER ** [12/18/11 11:06:59 AM] block broken at {1dot8,x=-1501,y=54,z=1674}, blockType=TORCH, lbOwner=graemejr, blockData=3 ** NOT BLOCK OWNER **
Here is an example of what a log looks like.
With this plugin in place, it's possible to run 'tail -f' on a guest's logfile and watch everything they do from your server command prompt, just as effective as if you were on the server following them invisible. Further, if you do ban them for griefing behavior, you have a single log that tracked everything they did from the moment they logged into your server until they got banned all in one convenient place.
This is NOT a replacement for excellent anti-griefer tools such as LogBlock - in fact this plugin works best when used in conjunction with LogBlock in order to report block owners and easily flag griefing behavior when guests login and start tearing up blocks that don't belong to them.
Wait, so logging every player action, including movement and block breaks and doing LogBlock lookups for every block?! OMG, that must be SO slow and going to lag!! Wrong. I run this on my own server, which is a humble 4G VPS that maxes out at 20 slots, and I have had no performance impact as a result of running this on my server (full 20 tps with full 20 players). Here's why:
As you can see, I take the performance of my plugins very seriously, primarily because the humble VPS that my server is hosted on doesn't have a lot of extra power for wasteful processing, so I choose my plugins very carefully and write my plugins with performance in mind from the get-go.