friendica/src/Util/Logger
2019-03-22 23:13:24 -04:00
..
Monolog Refactored Logging environment (cleaned up) 2019-03-22 23:00:38 -04:00
AbstractFriendicaLogger.php Added StreamLogger and ProfilerLogger 2019-03-22 23:13:23 -04:00
ProfilerLogger.php Added StreamLogger and ProfilerLogger 2019-03-22 23:13:23 -04:00
README.md typo 2019-03-22 23:13:24 -04:00
StreamLogger.php Added StreamLoggerTest 2019-03-22 23:13:24 -04:00
SyslogLogger.php Added StreamLogger and ProfilerLogger 2019-03-22 23:13:23 -04:00
VoidLogger.php Syslog - Disabling 2019-03-22 22:55:46 -04:00
WorkerLogger.php Reuse existing Strings::getRandomHex function 2019-02-27 18:32:25 +01:00

Friendica\Util\Logger

This namespace contains the different implementations of a Logger.

Configuration guideline

The following settings are possible for logger_config:

  • monolog: A Logging framework with lots of additions (see Monolog). There are just Friendica additions inside the Monolog directory
  • stream: A small logger for files or streams
  • syslog: Prints the logging output into the syslog

VoidLogger is a fallback logger without any function if no debugging is enabled.

ProfilerLogger is a wrapper around an existing logger in case profiling is enabled for Friendica. Every log call will be saved to the Profiler with a timestamp.

Implementation guideline

Each logging implementation should pe capable of printing at least the following information:

  • An unique ID for each Request/Call
  • The process ID (PID)
  • A timestamp of the logging entry
  • The critically of the log entry
  • A log message
  • A context of the log message (f.e which user)

If possible, a Logger should extend AbstractFriendicaLogger, because it contains additional, Friendica specific business logic for each logging call.

Using AbstractFriendicaLogger makes the logger capable of adding profiling data for each log call.