Simple event mediator
I think this is a very clean looking code base, so congrats getting that down. I also think that the the way you implemented the pattern worked out very well.

I don't have much to say, it's mostly just formatting.


Throughout, you insist on keeping block sections condensed to one line. It's perfectly okay to add the brackets and break apart the code into multiple lines.
In attach(), you return the current object. I don't see why you're doing so as in the example you didn't utilize this feature. Don't write code that's not in use yet!
You might consider moving strtolower(trim($event)) to a function with the appropriate parameters. Don't repeat yourself.
Why is !isset($this-&gt;events[$event]) returning false. I would expect an exception to be throw, that way if the code needs to watch for other errors later on, false could mean many things.
attachEventMediator I think needs a new name. You're not just attaching a mediator, you're setting it. If you had support for multiple mediators, then attach would be appropriate. Similarly, detach should be remove or delete.
Perhaps in replace of echo "{$message}\n";, you could use the sprintf function. I personally think this would clear up the line.
To improve your dependency injection  in Eventful, pass the Log as a parameter.
Will the message always be "log message"? Maybe pass that as an argument.


Overall I think the code is well-written. A couple more comments and better example code could have improved it even more!