rudl/logger

Rudl UDP cluster logging library (PSR4 compliant)

v0.8 2017-08-08 17:58 UTC

This package is auto-updated.

Last update: 2024-12-06 09:45:51 UTC


README

Cluster logging, request-tracking, accounting (UDP) client driver for PHP 5/7

Features

This project is the client-side library. Check out Rudl - Open-Source Cluster Log Analyzer to see it in Action. It's Big-Data (up to 190.000 requests/second per Rudl-instance). It's cluster aware. And it's setup within 30 seconds using zero config docker container.

  • Remote Logging: Log hundreds of Servers, Projects, Microservices to one or more Rudl Endpoints
  • Fast & Reliable: Rudl Messages are being sent by UDP. This is fast (<0.00001 sec/message) and reliable in case of Endpoint failure
  • Per Request Logging: Rudl logs every single request including accounting information (CPU Time, Traffic consumed, Errors/Exceptions). Analyse performance issues or dos-attacks in an early stage.
  • Big Data: Analyze what you want using MongoDB Aggregation Framework and fancy graphing
  • PSR4 & Framework integration: Rudl client integrates with your favorite Framework
  • Syslog aware: Rudl is aware of the syslog remote logging protocol
  • Anonymizer: Make your logs anonymous client-side

See our demos at Rudl - Open-Source Cluster Log Analyzer

Easy to use

Install it using composer:

composer require rudl/logger

and setup the Request Logging:

RudlClient::Init("rudl.endpoint.ip")
    ->setSystemId("FancyApp")
    ->registerExceptionHandler()
    ->registerRequestLogging();

That's it. This example will:

  • Make this Project findable under its name FancyApp
  • Log CPU Usage, Total Script time, Memory usage, Request, Traffic (in/out) for each request
  • Log Exceptions

Request-Based resource logging

RudlClient::registerRequestLogging() will register a shutdown-function and log information about the request including:

  • CPU Time consumed
  • CPU System Type consumed
  • Memory Peak usage
  • Total script runtime
  • Hostname and Request URI
  • Client IP-Address

Exception Catching