Log

Table of Contents
Logging container --  Log supports different types of data containers.
Examples --  How to use Log.
Initialization -- Creating a Log object
Log -- Logging abstraction class
Log::factory() --  Return a concrete Log instance of log_type.
Log::singleton() -- 
Log::attach() --  Attach new observer to existing list.
Log::detach() --  Detach observer from existing list.
Log::notifyAll() --  Notify all observers.
Log_Observer -- Log observer class
Log_Observer::factory --  Return a concrete Log_Observer instance of observer_type.

Implements both an abstraction for various logging mechanisms and the Subject end of a Subject-Observer pattern.