Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="info"><ac:parameter ac:name="title">New Proposal Template</ac:parameter><ac:rich-text-body>
<p>This page has been created from a template that uses "zones." To proceed:</p>

<li>Edit the page</li>
<li>Replace sample content within each zone-data tag with your own content</li>
<li>Remove this notice</li>
<li>Save the page</li>
<li>When you are ready for community review, move this page to the <ac:link><ri:page ri:content-title="Ready for Review" /></ac:link> section on the edit page.</li>

<ac:macro ac:name="note"><ac:parameter ac:name="title">No placeholders allowed!</ac:parameter><ac:rich-text-body>
<p>Please do not create placeholders. Wait until you have sufficient content to replace all sample data in the proposal template before creating your proposal document.</p></ac:rich-text-body></ac:macro></ac:rich-text-body></ac:macro>

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Application_Resource_Log Component Proposal

Proposed Component Name Zend_Application_Resource_Log
Developer Notes
Proposers Loïc Frering
Zend Liaison TBD
Revision 1.0 - 9 September 2009: Initial Draft. (wiki revision: 12)

Table of Contents

1. Overview

Zend_Application_Resource_Log is a resource plugin that will help you initialize a Zend_Log logger for your application.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

Most requirements take the form of "foo will do ...." or "foo will not support ...", although different words and sentence structure might be used. Adding functionality to your proposal is requirements creep (bad), unless listed below. Discuss major changes with your team first, and then open a "feature improvement" issue against this component.

  • This component will permit to initialize a Zend_Log logger.
  • This component will permit to define as many writer as we want.
  • This component will support all storage backend available in Zend_Log_Writer_*.

For each writer :

  • This component will allow to configure the formatter we want through the ones available in Zend_Log_Formatter_* (Simple or Xml for now) with their own options.
  • This component will allow to add to the writer as many filters as we want through the ones available in Zend_Log_Filter_* with their own options.

4. Dependencies on Other Framework Components

  • Zend_Exception
  • Zend_Log
  • Zend_Log_*

5. Theory of Operation

This component has to be used as a plugin resource for bootstrapping with Zend_Application. Il will allow to easily configure a logger through a configuration file.

6. Milestones / Tasks

Describe some intermediate state of this component in terms of design notes, additional material added to this page, and / code. Note any significant dependencies here, such as, "Milestone #3 can not be completed until feature Foo has been added to ZF component XYZ." Milestones will be required for acceptance of future proposals. They are not hard, and many times you will only need to think of the first three below.

  • Milestone 1: design notes will be published here
  • Milestone 2: Working prototype checked into the incubator supporting use cases #1, #2, ...
  • Milestone 3: Working prototype checked into the incubator supporting use cases #3 and #4.
  • Milestone 4: Unit tests exist, work, and are checked into SVN.
  • Milestone 5: Initial documentation exists.

If a milestone is already done, begin the description with "[DONE]", like this:

  • Milestone #: [DONE] Unit tests ...

7. Class Index

  • Zend_Application_Resource_Log
  • Zend_Controller_Action_Helper_Log

8. Use Cases


Defined writers:

  • 1 - stream with 3 filters:
    • on priority
    • with a regexp on the message
    • a suppress filter
  • 2 - firebug
  • 3 - stream with an XML formatter
  • 4 - trying to configure an inexisting writer
  • 5 - mail
  • 6 - database with advance mapping

9. Class Skeletons



Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Sep 13, 2009

    <p>I think that this class should rather be called Zend_Application_Resource_Log, because the resource is Zend_Log.</p>

    1. Sep 16, 2009

      <p>Yes I agree, I called it Zend_Application_Resource_Logger cause I wrote an action controller helper named Zend_Controller_Action_Logger.</p>

      <p>So I gonna rename these components as following :</p>

  2. Sep 14, 2009

    <p>Makes no sense to get the methods to be protected.</p>

    1. Sep 16, 2009

      <p>I made these methods protected because they are used internally to separate the setup of the writer from the setup of the eventual formatters and filters.</p>

  3. Dec 22, 2009

    <p>was made an improvement in Zend_Log added the factory pattern and also the <a href="">Zend_Application_Resource_Log</a>.</p>

    1. Jan 11, 2010

      <p>Yes, I'm going to archive this proposal.</p>