Download the PHP package muckiware/log-plugin without Composer

On this page you can find all versions of the php package muckiware/log-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package log-plugin

MuckiLogPlugin

Logger Plugin for Shopware 6 Webshops

This Shopware 6 Plugin creates log files with file rotation, max file size setup, loglevels, etc. You can create for all your plugins own log fieles by context. like /var/log/myloginplugin.vendor.log, or /var/log/myextraplugin.vendor.log It can send emails by log events. For example: You get an error log event, and it can sends an email to a specific address.

Features overview

Log Viewer (Administration)

The plugin ships with a built-in log viewer in the Shopware Administration, so you can inspect log files without SSH or filesystem access to the server.

Where to find it: Settings → Plugins → Log viewer.

What it does

Security & access control

API endpoints

The viewer is backed by three read-only admin-API actions:

Method & path Purpose
GET /api/_action/muwa-log-viewer/files List available log files (name, size, mtime)
GET /api/_action/muwa-log-viewer/content?file=<name>&lines=<n>&before=<byte> Read the tail of a file (lines 1–20,000, default 2,000; before for pagination)
GET /api/_action/muwa-log-viewer/download?file=<name> Download the full log file

How to use

In order not to create dependencies from Muckilog to other plugins, the original Monolog interface can be used. Muckilog plugin will replace the monolog method by using a decorator.

Loglevels

You have these kind of log levels

Decorator Coverage

MuckiLogPlugin intercepts Shopware and Symfony log calls through two complementary mechanisms.

1. Psr\Log\LoggerInterface — via service decorator

The primary decorator (LoggerServiceDecorator) wraps the default Symfony/Monolog logger. Any service that injects the logger via the standard PSR-3 interface is automatically covered:

This is the recommended way to use the logger in your own plugins.

2. id="logger" — via DI CompilerPass

Many Shopware core services use the explicit logger service ID instead of the interface alias:

The LoggerDecoratorCompilerPass runs at container compile time, traverses all service definitions and replaces every id="logger" reference with a reference to the LoggerServiceDecorator — except for services that are transitive dependencies of the decorator itself (those would create circular references).

What this means in practice: Log calls from Shopware core services like ProductStreamProcessor, StockUpdater, or ElasticsearchEntitySearcher are routed through MuckiLogPlugin automatically, without any code changes in those services.

Why Monolog channel loggers (id="monolog.logger.*") are not auto-decorated

Shopware registers a dedicated Monolog logger per concern (monolog.logger.event, monolog.logger.messenger, monolog.logger.request, etc.). Decorating these channels with a service decorator is architecturally incompatible with the current plugin design:

LoggerServiceDecorator → MuckiLogPlugin\Logging\Logger → LoggingEvent → muwa_logging_event.repository → Shopware DAL → most Shopware services → those Shopware services use channel loggers → circular reference

The correct approach for intercepting channel loggers is a Monolog Handler (a handler is a leaf node in the DI graph and does not create cycles). This is documented as a future improvement.

Context array convention

The decorator reads the PSR-3 context array to determine which log file to write to:

Important: The context array must use numeric indices 0 (vendor) and 1 (plugin name). Associative arrays passed by Shopware core services (e.g. ['exception' => ...]) are handled gracefully — they fall back to the default sw/dev log file without errors.

CLIs

This command execute the sending of open logger events by email. Regular will this execution runs by Shopware schedules all 600 seconds.

This command tests the Psr\Log\LoggerInterface injection path and writes sample log entries across all log levels.

This command tests the id="logger" injection path (typical Shopware core pattern) to verify that the LoggerDecoratorCompilerPass correctly routes those calls through MuckiLogPlugin. The first output line shows the actual class injected — it should read MuckiLogPlugin\Services\LoggerServiceDecorator, not Monolog\Logger.

Testing

phpstan

Install

Install phpstan, if required

Execute

Unit test

Execute first time

Execute regular run


All versions of log-plugin with dependencies

PHP Build Version
Package Version
Requires php Version >= 8.2
shopware/core Version >= 6.5.8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package muckiware/log-plugin contains the following files

Loading the files please wait ...