PHPackages                             t3n/jobqueue-log - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. t3n/jobqueue-log

ActiveNeos-package[Queues &amp; Workers](/categories/queues)

t3n/jobqueue-log
================

A sidecar package for t3n.JobQueue.RabbitMQ to publish logs

1.0.0(7y ago)08.7k—8.3%[2 PRs](https://github.com/t3n/JobQueue.Log/pulls)MITPHP

Since Feb 1Pushed 5y ago8 watchersCompare

[ Source](https://github.com/t3n/JobQueue.Log)[ Packagist](https://packagist.org/packages/t3n/jobqueue-log)[ RSS](/packages/t3n-jobqueue-log/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (1)Dependencies (2)Versions (4)Used By (0)

[![CircleCI](https://camo.githubusercontent.com/d5fa3a8016297fd876eb0078e8d01de4d5b25a815d18624fcbdf84945b3ebd6f/68747470733a2f2f636972636c6563692e636f6d2f67682f74336e2f4a6f6251756575652e4c6f672e7376673f7374796c653d737667)](https://circleci.com/gh/t3n/JobQueue.Log) [![Latest Stable Version](https://camo.githubusercontent.com/ac25d9cc7555fea8034dbfb1e05aca5c36ae6faf3c27a980517993be54fe381c/68747470733a2f2f706f7365722e707567782e6f72672f74336e2f6a6f6271756575652d6c6f672f762f737461626c65)](https://packagist.org/packages/t3n/jobqueue-log) [![Total Downloads](https://camo.githubusercontent.com/7cf139f87c24d41eebc7fca21b038caf29edc76163ee174d58cd100047979187/68747470733a2f2f706f7365722e707567782e6f72672f74336e2f6a6f6271756575652d6c6f672f646f776e6c6f616473)](https://packagist.org/packages/t3n/jobqueue-log)

t3n.JobQueue.Log
================

[](#t3njobqueuelog)

A sidecar package for [t3n.JobQueue.RabbitMQ](https://github.com/t3n/JobQueue.RabbitMQ). This package will log infos about submitted, failed and finished jobs to a RabbitMQ backend. This package could also be used to simply log some custom messages.

Setup
-----

[](#setup)

To use RabbitMQ as a backend for a JobQueue you need a running RabbitMQ Service. You can use our docker image which also includes the management console [t3n/rabbitmq](https://quay.io/repository/t3n/rabbitmq)

Install the package using composer:

```
composer require t3n/jobqueue-log

```

Configuration
-------------

[](#configuration)

For a basic setup of RabbitMQ Queues check [t3n.JobQueue.RabbitMQ](https://github.com/t3n/JobQueue.RabbitMQ). This section will only cover the additional configuration.

There are some preconfigured queues:

```
Flowpack:
  JobQueue:
    Common:
      queues:
        # All queues should be adjusted to your needs / configurations to fit your exchange config
        # We just provide different queues to send messages with different routing keys to an exchange
        # these queues only acts as a producer and dont't need to be declared
        log-info:
          className: 't3n\JobQueue\RabbitMQ\Queue\RabbitQueue'
          options:
            routingKey: 'log.info' # Adjust to your needs
            queueOptions:
              declare: false
        log-success:
          className: 't3n\JobQueue\RabbitMQ\Queue\RabbitQueue'
          options:
            routingKey: 'log.success' # Adjust to your needs
            queueOptions:
              declare: false
        log-error:
          className: 't3n\JobQueue\RabbitMQ\Queue\RabbitQueue'
          options:
            routingKey: 'log.error' # Adjust to your needs
            queueOptions:
              declare: false
        log-message:
          className: 't3n\JobQueue\RabbitMQ\Queue\RabbitQueue'
          options:
            routingKey: 'log.message' # Adjust to your needs
            queueOptions:
              declare: false
```

Adjust those queues to fit your needs. You probably want to adjust the routing key as well as the preset / exchange configuration. Those queue names are used internally, so make sure you got those covered! We won't declare them as they only act as a producer. There is no need to declare or persist them for now.

Now add a consumer queue like this:

```
Flowpack:
  JobQueue:
    Common:
      queues:
        log-listener:
          className: 't3n\JobQueue\Log\Queue\TransientRabbitQueue'
          options:
            routingKey: 'log.*'
            queueOptions:
              declare: true
              exchangeName: 'your-exchange'
```

This queue uses a TransientRabbitQueue. This is important as we override the default queue options to make sure it has a unique name so you several consumer can connect and all messages are forwarded to each consumer. The queue will also only exist as long as a consumer is connected (realised with the `exclusive` flag). This queue now would receive all logs with all severities. If you only need warnings adjust the routing key to your needs or configure another consumer queue.

We wont log anything by default but is able to log logs for submitted, failed and finished jobs. You can enable logging in your `Settings.yaml`:

```
t3n:
  JobQueue:
    Log:
      logFailedJobs: false
      logSubmittedJobs: false
      logFinishedJobs: false
```

Usage
-----

[](#usage)

After you configured your producer and consumer queues there is a flow command to output all logs:

```
./flow job:work log:live --severity  --verbose
```

The severity flag controls whether to log only failed Jobs (`warning`), submitted jobs (`info`) or finished jobs (`success`). By default all logs (`*`) are outputted. Setting verbose to true will also display some more meta information.

### Send generic messages

[](#send-generic-messages)

This package is made to have a live overview of your jobqueues. But you can also use it to send some generic logs. Therefore we added the severity `message`.

Sending a message to all consumers:

```
/**
 * @Flow\Inject
 *
 * @var JobManager
 */
protected $jobManager;

[...]

$message = new LogJob(string $subject, string $label, string $messageBody, array $additionalData, string $severity);
$this->jobManager->queue('log-message', $message);
```

The queue name, routing keys etc. can be customized to fit your needs!

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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

Unknown

Total

1

Last Release

2661d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/769789?v=4)[Johannes Steu](/maintainers/johannessteu)[@johannessteu](https://github.com/johannessteu)

---

Top Contributors

[![johannessteu](https://avatars.githubusercontent.com/u/769789?v=4)](https://github.com/johannessteu "johannessteu (5 commits)")

---

Tags

flowframeworkjobqueueneosrabbitmq

### Embed Badge

![Health badge](/badges/t3n-jobqueue-log/health.svg)

```
[![Health](https://phpackages.com/badges/t3n-jobqueue-log/health.svg)](https://phpackages.com/packages/t3n-jobqueue-log)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[amphp/parser

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2238.8M171](/packages/react-async)[amphp/pipeline

Asynchronous iterators and operators.

7432.7M34](/packages/amphp-pipeline)

PHPackages © 2026

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