6.0.0-git
2024-05-05

Diff for Doc/Dev/HordeLog between 1 and 2

[[toc]]

+ Horde\Log

++ Description

Horde's Logging component.

The Horde Logging library was loosely based on the Zend 1 logging component back in H4. Recent upgrades implement PSR-3 logging and are informed by native PSR-3 implementations as well as Zend\Log's successor Laminas\Log

Horde\Log internally delegates different aspects of log handling to formatters, filters and handlers, but exposes a unified Logger facade.

++ Bugs

List any tickets on http://bugs.horde.org/ that cover this issue or are relevant to it.

++ People

Ralf Lang for the H6 upgrade

++ Resources

Include links to protocol descriptions, specifications, RFCs, external applications, presentations on http://horde.org/papers/ or elsewhere that are relevant, articles, API docs from http://dev.horde.org/ - anything that might be useful to someone working on this.

++ UPGRADING

+++ 3.x (H6)
++++ Type hinting
* Users should Type hint against either Horde\Log\LoggerInterface or Psr\Log\LoggerInterface
  * Use Psr if you only want to emit logs
  * Use Horde if you want to call into horde specific extensions
  While both technically work, more specific typing improves static analysis and IDE hints.

++++ Awareness
* Use Psr/Log/LoggerAwareInterface for classes consuming loggers via setter injection
* If you use setter injection and depend on horde-specific functionality, rather use the Horde\Log\LoggerAwareInterface. As both conflict and have different use cases, choose wisely. 

----
Back to the ((Project|Project List))