Posted
about 12 years
ago
by
fgm
Continuing this exploration of logging solutions used in various projects, let's look at logging in Kohana 3.
While Monolog and log4php share a mostly common logging model of a frontal Logger object instantiated as many times as needed to supply
... [More]
different logging channels, in which log events are Processed/Filtered then written out by Handlers/Writers, Kohana builds upon a simpler model, which can be summarized by three patterns:
Singleton: there is only one instance of the Kohana Log
Observer: Log_Writer instances are attached (and detached) to(/from) the logger instance and handle events they are interested in based on their own configuration. Much like a Drupal hook, all writer instances receive each Log event
Delegation: the Log exposes a write() to trigger the buffered writing, but does not implement it itself, but delegates to the Log_Writer objects to perform it. Buffered logging control is a Log property, not a Log_Writer property.
read more [Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): logging in Kohana 3
Frederic Marand
Sun, 2012-11-04 11:27
Read more about Rethinking watchdog(): logging in Kohana 3
2 comments
Add new comment
Continuing this exploration of logging solutions used in
... [More]
various projects, let's look at logging in Kohana 3.
While Monolog and log4php share a mostly common logging model of a frontal Logger object instantiated as many times as needed to supply different logging channels, in which log events are Processed/Filtered then written out by Handlers/Writers, Kohana builds upon a simpler model, which can be summarized by three patterns:
Singleton: there is only one instance of the Kohana Log
Observer: Log_Writer instances are attached (and detached) to(/from) the logger instance and handle events they are interested in based on their own configuration. Much like a Drupal hook, all writer instances receive each Log event
Delegation: the Log exposes a write() to trigger the buffered writing, but does not implement it itself, but delegates to the Log_Writer objects to perform it. Buffered logging control is a Log property, not a Log_Writer property.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): logging in Kohana 3
Frederic Marand
Sun, 2012-11-04 11:27
Read more about Rethinking watchdog(): logging in Kohana 3
2 comments
Add new comment
Continuing this exploration of logging solutions used in
... [More]
various projects, let's look at logging in Kohana 3.
While Monolog and log4php share a mostly common logging model of a frontal Logger object instantiated as many times as needed to supply different logging channels, in which log events are Processed/Filtered then written out by Handlers/Writers, Kohana builds upon a simpler model, which can be summarized by three patterns:
Singleton: there is only one instance of the Kohana Log
Observer: Log_Writer instances are attached (and detached) to(/from) the logger instance and handle events they are interested in based on their own configuration. Much like a Drupal hook, all writer instances receive each Log event
Delegation: the Log exposes a write() to trigger the buffered writing, but does not implement it itself, but delegates to the Log_Writer objects to perform it. Buffered logging control is a Log property, not a Log_Writer property.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): logging in Kohana 3
Frederic Marand
Sun, 2012-11-04 11:27
Read more about Rethinking watchdog(): logging in Kohana 3
2 comments
Add new comment
Continuing this exploration of logging solutions used in
... [More]
various projects, let's look at logging in Kohana 3.
While Monolog and log4php share a mostly common logging model of a frontal Logger object instantiated as many times as needed to supply different logging channels, in which log events are Processed/Filtered then written out by Handlers/Writers, Kohana builds upon a simpler model, which can be summarized by three patterns:
Singleton: there is only one instance of the Kohana Log
Observer: Log_Writer instances are attached (and detached) to(/from) the logger instance and handle events they are interested in based on their own configuration. Much like a Drupal hook, all writer instances receive each Log event
Delegation: the Log exposes a write() to trigger the buffered writing, but does not implement it itself, but delegates to the Log_Writer objects to perform it. Buffered logging control is a Log property, not a Log_Writer property.
[Less]
|
Posted
about 12 years
ago
by
fgm
Beyond Monolog, other packages provide advanced logging services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world
... [More]
, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
Purpose
Monolog
log4php
Notes
Log an event
Logger
Logger
Very similar
Store an event
Handler
Appender
both can be chained, group, control bubbling (Monolog) / filtering (log4php)
Format an event representation
Formatter
Layout
log4php layouts can format a group of events, Monolog formatters format an individual event
Massage event data
Processor
Renderer
Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings.
read more [Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): Monolog vs log4php
Frederic Marand
Sat, 2012-11-03 15:45
Read more about Rethinking watchdog(): Monolog vs log4php
7 comments
Add new comment
Beyond Monolog, other packages provide advanced logging
... [More]
services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
Purpose
Monolog
log4php
Notes
Log an event
Logger
Logger
Very similar
Store an event
Handler
Appender
both can be chained, group, control bubbling (Monolog) / filtering (log4php)
Format an event representation
Formatter
Layout
log4php layouts can format a group of events, Monolog formatters format an individual event
Massage event data
Processor
Renderer
Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): Monolog vs log4php
Frederic Marand
Sat, 2012-11-03 15:45
Read more about Rethinking watchdog(): Monolog vs log4php
7 comments
Add new comment
Beyond Monolog, other packages provide advanced logging
... [More]
services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
Purpose
Monolog
log4php
Notes
Log an event
Logger
Logger
Very similar
Store an event
Handler
Appender
both can be chained, group, control bubbling (Monolog) / filtering (log4php)
Format an event representation
Formatter
Layout
log4php layouts can format a group of events, Monolog formatters format an individual event
Massage event data
Processor
Renderer
Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): Monolog vs log4php
Frederic Marand
Sat, 2012-11-03 15:45
Read more about Rethinking watchdog(): Monolog vs log4php
7 comments
Add new comment
Beyond Monolog, other packages provide advanced logging
... [More]
services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
Purpose
Monolog
log4php
Notes
Log an event
Logger
Logger
Very similar
Store an event
Handler
Appender
both can be chained, group, control bubbling (Monolog) / filtering (log4php)
Format an event representation
Formatter
Layout
log4php layouts can format a group of events, Monolog formatters format an individual event
Massage event data
Processor
Renderer
Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): Monolog vs log4php
Frederic Marand
Sat, 2012-11-03 15:45
Read more about Rethinking watchdog(): Monolog vs log4php
7 comments
Add new comment
Beyond Monolog, other packages provide advanced logging
... [More]
services. Apache log4php is another well-known logging solution, used (among others) by CMS Made Simple, SugarCRM, and vTiger CRM.
It is based on the famous log4j package from the Java world, and from uses of this package I have seen on customer sites, I feel that it carries a lot of useless baggage, and is - in my opinion - significantly less of a good match than Monolog for Drupal 8.
Monolog vs log4php : equivalences
There is some degree of equivalence between the Monolog and log4php components:
Purpose
Monolog
log4php
Notes
Log an event
Logger
Logger
Very similar
Store an event
Handler
Appender
both can be chained, group, control bubbling (Monolog) / filtering (log4php)
Format an event representation
Formatter
Layout
log4php layouts can format a group of events, Monolog formatters format an individual event
Massage event data
Processor
Renderer
Not so similar. Monolog processors will often add extra data, while log4php Renderers are typically used to format non-string events as strings.
[Less]
|
Posted
about 12 years
ago
by
Frederic Marand
Rethinking watchdog(): Monolog architecture
Frederic Marand
Fri, 2012-11-02 12:11
Read more about Rethinking watchdog(): Monolog architecture
4 comments
Add new comment
I've been discussing Monolog in Drupal events
... [More]
(DrupalCamp Lyon, DevDays Barcelona) as a possible alternative to the legacy Drupal watchdog() service for quite some time, but never took the time to explain it in writing, and the feature freeze date is looming ahead, so since I'm taking part in th Gent code sprint, and code has been starting to take shape
here,
here, and
there,
here is an overview of the Monolog classes.
The diagram below is a simplified version of the Monolog architecture. It includes all classes and interfaces, but only the most significant methods, no constants, and none of the non-bundled classes and interfaces upon which some of the builtins depend.
[Less]
|