6.0.0-alpha14
6/26/25
Last Modified 11/21/21 by Guest
Table of Contents

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 List