I change the output format of the logging through this component as well. While the Yii stock logging is adequate, this format is easier on the eyes and let's you pull out what you're looking for more easily.

The new format is:

Mmm dd hh:mm:ss [category fixed 30 chars] : <L> LOG_ENTRY

Where:

Mmm dd hh:mm:ss looks like this: Feb 11 12:34:56 and <L> is the first letter of the log level (E,W,I, or T).

One feature I added was category exclusion. I like to use Yii::trace() for informational debug logging. However, when turning on trace level output, you get a lot of crap that, frankly, doesn't really do anything but prolong the time it takes for me to find relevant entries.

Excluding these categories (like system.db.CDbCommand) is simple with this log router. You can configure the excluded categories in your configuration file or at runtime.

The class exposes a property called excludeCategories and is defined as an array. It will take literal strings or regular expressions (regex patterns must be enclosed in slashes (i.e. /^pattern$/) to match. It checks the literal first, then the regex for performance.