Caution: The documentation you are viewing is
for an older version of Zend Framework.
You can find the documentation of the current version at docs.zendframework.com
Formatters - Zend_Log
A Formatter is an object that is responsible for taking an
describing a log event and outputting a string with a formatted log line.
Some Writers are not line-oriented and cannot use a Formatter. An example is the Database Writer, which inserts the event items directly into database columns. For Writers that cannot support a Formatter, an exception is thrown if you attempt to set a Formatter.
Zend_Log_Formatter_Simple is the default formatter. It is configured automatically when you specify no formatter. The default configuration is equivalent to the following:
A formatter is set on an individual Writer object using the Writer's setFormatter() method:
The constructor of Zend_Log_Formatter_Simple accepts a single
parameter: the format string. This string contains keys surrounded by
percent signs (e.g.
%message%). The format string may
contain any key from the event data array.
You can retrieve the default keys by using the DEFAULT_FORMAT constant from
Zend_Log_Formatter_Xml formats log data into XML strings. By default, it automatically logs all items in the event data array:
The code above outputs the following XML (space added for clarity):
It's possible to customize the root element as well as specify a mapping of XML elements to the items in the event data array. The constructor of Zend_Log_Formatter_Xml accepts a string with the name of the root element as the first parameter and an associative array with the element mapping as the second parameter:
The code above changes the root element from its default of
log. It also maps the element
msg to the event data item
results in the following output: