PHPackages                             benycode/slim-request-logger-middleware - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. benycode/slim-request-logger-middleware

ActiveLibrary[Framework](/categories/framework)

benycode/slim-request-logger-middleware
=======================================

A slim middleware for Request logger

v0.0.1(3y ago)051GPL-2.0+PHPPHP ^8.0

Since Jul 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/benycode/slim-request-logger-middleware)[ Packagist](https://packagist.org/packages/benycode/slim-request-logger-middleware)[ RSS](/packages/benycode-slim-request-logger-middleware/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

Slim Framework Request logger
=============================

[](#slim-framework-request-logger)

A **Request** logger library for the Slim 4 Framework.

Features
--------

[](#features)

- Log request: content, headers, agent, method, content type, content length, query, ip;
- Log response: status, content, content type, content length, took time.

Table of contents
-----------------

[](#table-of-contents)

- [Install](#install)
- [Usage](#usage)

Install
-------

[](#install)

Via Composer

```
$ composer require benycode/slim-request-logger-middleware
```

Requires Slim 4.

Usage
-----

[](#usage)

Use [DI](https://www.slimframework.com/docs/v4/concepts/di.html) to inject the library Middleware classes:

```
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog\FileSystemLog;

return [
    ......
    LoggerFactory::class => function (ContainerInterface $container) {
        return new ... ; // use PSR-3 logger
    },
    RequestLogMiddleware::class => function (ContainerInterface $container) {

        $logger = $container->get(LoggerFactory::class)
            ->addFileHandler('requests.log')
            ->createLogger();

        $requestLog = new FileSystemLog($logger);

        return new RequestLogMiddleware($requestLog);
    },
    ResponseLogMiddleware::class => function (ContainerInterface $container) {

        $logger = $container->get(LoggerFactory::class)
            ->addFileHandler('requests.log')
            ->createLogger();

        $requestLog = new FileSystemLog($logger);

        return new ResponseLogMiddleware($requestLog);
    },
];
```

add a **Middlewares** to route globaly:

```
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;

$app
  ->add(ResponseLogMiddleware::class)
  ->add(RequestLogMiddleware::class)
  ->add(RKA\Middleware\IpAddress::class)
  ;
```

create your own log output class:

```
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog;

final class AnyLogClass implements RequestLog
{
    public function __construct(
        ...
    ) {
    }

    public function logRequest(string $requestId, ServerRequestInterface $request): void
    {
        $requestData = RequestTransformer::transformRequestData($request); // you can use the own request data transformer

        ... // do something with the request log data
    }

    public function logResponse(ServerRequestInterface $request, ResponseInterface $response): void
    {
        $responseData = ResponseTransformer::transformResponsetData($request, $response); // you can use the own response data transformer

        ... // do something with the response log data
    }
}
```

inject your new log class to the logger:

```
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog\FileSystemLog;
use ....\AnyLogClass;
return [
    ......
    RequestLogMiddleware::class => function (ContainerInterface $container) {

        $requestLog = new AnyLogClass(....);

        return new RequestLogMiddleware($requestLog);
    },
    ResponseLogMiddleware::class => function (ContainerInterface $container) {

        $requestLog = new AnyLogClass(....);

        return new ResponseLogMiddleware($requestLog);
    },
];
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1412d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cb3e8d371d500a222cf7d259a737b7de87389296eb9584360f9a68c594d2a2dc?d=identicon)[benycode](/maintainers/benycode)

---

Top Contributors

[![benycode](https://avatars.githubusercontent.com/u/39025147?v=4)](https://github.com/benycode "benycode (15 commits)")

---

Tags

requestlogmiddlewareframeworkslim

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/benycode-slim-request-logger-middleware/health.svg)

```
[![Health](https://phpackages.com/badges/benycode-slim-request-logger-middleware/health.svg)](https://phpackages.com/packages/benycode-slim-request-logger-middleware)
```

###  Alternatives

[slim/csrf

Slim Framework 4 CSRF protection PSR-15 middleware

3512.1M94](/packages/slim-csrf)[slim/http-cache

Slim Framework HTTP cache middleware and service provider

1242.9M27](/packages/slim-http-cache)[htmlburger/wpemerge

A micro framework which modernizes WordPress as a CMS development by providing tools to implement MVC and more.

456137.8k8](/packages/htmlburger-wpemerge)[davidepastore/slim-validation

A slim middleware for validation based on Respect/Validation

171223.7k3](/packages/davidepastore-slim-validation)[pavlakis/slim-cli

Making a mock GET request through the CLI and enabling the same application entry point on CLI scripts.

3691.9k3](/packages/pavlakis-slim-cli)[davidepastore/slim-restrict-route

A Slim middleware to restrict ip addresses that will access to your routes

2220.6k1](/packages/davidepastore-slim-restrict-route)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
