{"id":14969781,"url":"https://github.com/inpsyde/wonolog","last_synced_at":"2026-01-07T17:29:22.308Z","repository":{"id":37819449,"uuid":"71220948","full_name":"inpsyde/Wonolog","owner":"inpsyde","description":"Monolog-based logging package for WordPress.","archived":false,"fork":false,"pushed_at":"2025-02-11T14:33:10.000Z","size":1010,"stargazers_count":174,"open_issues_count":11,"forks_count":18,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-07T03:13:56.433Z","etag":null,"topics":["debugging","hacktoberfest","logging","monolog","php","psr-3","wordpress"],"latest_commit_sha":null,"homepage":"https://inpsyde.github.io/Wonolog/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inpsyde.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-18T07:31:14.000Z","updated_at":"2025-01-29T16:42:14.000Z","dependencies_parsed_at":"2024-06-18T13:12:37.072Z","dependency_job_id":"000effc0-1543-433b-a78b-6a16b4da0561","html_url":"https://github.com/inpsyde/Wonolog","commit_stats":{"total_commits":214,"total_committers":14,"mean_commits":"15.285714285714286","dds":0.4532710280373832,"last_synced_commit":"a1cc3192df1d788f2335d009385a362df5414af4"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inpsyde%2FWonolog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inpsyde%2FWonolog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inpsyde%2FWonolog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inpsyde%2FWonolog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inpsyde","download_url":"https://codeload.github.com/inpsyde/Wonolog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248889861,"owners_count":21178310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","hacktoberfest","logging","monolog","php","psr-3","wordpress"],"created_at":"2024-09-24T13:42:22.162Z","updated_at":"2025-10-19T13:19:47.570Z","avatar_url":"https://github.com/inpsyde.png","language":"PHP","readme":"# Wonolog \n\n[![Version](https://img.shields.io/packagist/v/inpsyde/wonolog.svg)](https://packagist.org/packages/inpsyde/wonolog)\n[![Status](https://img.shields.io/badge/status-active-brightgreen.svg)](https://github.com/inpsyde/Wonolog)\n[![Build](https://img.shields.io/travis/inpsyde/Wonolog.svg)](http://travis-ci.org/inpsyde/Wonolog)\n[![Downloads](https://img.shields.io/packagist/dt/inpsyde/wonolog.svg)](https://packagist.org/packages/inpsyde/wonolog)\n[![License](https://img.shields.io/packagist/l/inpsyde/wonolog.svg)](https://packagist.org/packages/inpsyde/wonolog)\n\n![Wonolog](assets/images/banner.png)\n\n\u003e Monolog-based logging package for WordPress.\n\n------\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Minimum Requirements and Dependencies](#minimum-requirements-and-dependencies)\n- [Getting Started](#getting-started)\n- [Wonolog Defaults](#wonolog-defaults)\n- [Learn More](#learn-more)\n- [Copyright and License](#copyright-and-license)\n\n------\n\n## Introduction\n\nWonolog is a Composer package (not a plugin) that allows to log anything that *happens* in a WordPress site.\n\nIt is based on [Monolog](https://github.com/Seldaek/monolog), which, with its over 38 millions of downloads and thousands of dependent packages, is the most popular logging library for PHP, compatible with the PSR-3 standard.\n\n\n## Minimum Requirements and Dependencies\n\nWonolog requires:\n\n- PHP 5.6+\n- WordPress 4.6+\n\nVia [Composer](https://getcomposer.org), Wonolog requires `monolog/monolog` (MIT).\n\nWhen installed for development, via Composer, Wonolog also requires:\n\n- `phpunit/phpunit` (BSD-3-Clause)\n- `brain/monkey` (MIT)\n- `mikey179/vfsStream` (BSD-3-Clause)\n\n\n## Getting Started\n\nWonolog should be installed via Composer.\nIts package name is `inpsyde/wonolog`.\n\n**The suggested way to use Wonolog is at website level.**\n\nIf you don't use Composer to manage your whole website then Wonolog is probably not for you.\nYou might be able to use it anyway, but support is not guaranteed.\n\nIt's easily possible to develop plugins and themes compatible with Wonolog logging even without explicitly declaring it as a dependency.\n\nA couple of noteworthy things:\n\n- all Wonolog configurations have to be done in a MU plugin;\n- in a WordPress multisite installation, all Wonolog configurations are _naturally_ site-wide.\n\nOn the bright side, Wonolog comes with a super easy bootstrap routine and some out-of-the-box configurations that make it possible to have a working and effective logging system with zero effort.\n\nTo get started with defaults settings, this is required:\n\n1. install Wonolog via Composer;\n1. ensure Composer autoload is loaded in `wp-config.php` or anytime before the `'muplugins_loaded'` action is fired;\n1. create a **MU plugin** that, at least, contains this code:\n\n```php\n\u003c?php\nInpsyde\\Wonolog\\bootstrap();\n```\n\n\n## Wonolog Defaults\n\nThe three steps described above are all that is necessary to have a working logging system that uses Monolog to write logs in a file.\nThe path of that file changes based on current date, using the following format:\n\n- `{WP_CONTENT_DIR}/wonolog/{Y/m/d}.log`,\n\nwith `{Y/m/d}` being replaced by `date( 'Y/m/d' )`.\n\nFor example, a target file could be `/wp-content/2017/02/27.log`.\n\nWhat is actually logged depends on the value of `WP_DEBUG_LOG` constant.\n\nWhen `WP_DEBUG_LOG` is set to `true`, Wonolog will log *everything*.\nWhen `WP_DEBUG_LOG` is set to `false`, Wonolog will only log events with a log level higher or equal to `ERROR`, according to [PSR-3 log levels](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#5-psrlogloglevel).\n\n\"Automatically\" logged events include:\n\n- PHP core notices, warnings and (fatal) errors;\n- uncaught exceptions;\n- WordPress errors and events (e.g., DB errors, HTTP API errors, `wp_mail()` errors, and 404 errors).\n\n**This is just the default behavior.**\n\nThe `bootstrap()` function provides entry points for many configurations and customizations.\n\nMoreover, the package provides both action and filter hooks, and can be configured via environment variables, which makes Wonolog **very** flexible, and exposes all the power that Monolog provides.\n\n\n## Learn More\n\nDocumentation of Wonolog features, defaults, configuration and ways to extends it can be found in separate files:\n\n- [01 - Monolog Primer](docs/01-monolog-primer.md) to learn a bit more about Monolog core concepts.\n- [02 - Basic Wonolog Concepts](docs/02-basic-wonolog-concepts.md) to learn the basics of logging with Wonolog.\n- [03 - A Deeper Look at Wonolog](docs/03-a-deeper-look-at-wonolog.md) to learn more advanced concepts and features of Wonolog.\n- [04 - Hook Listeners](docs/04-hook-listeners.md) to read about *hook listeners*, the powerful feature of Wonolog that allows for logging any WordPress code.\n- [05 - Wonolog Customization](docs/05-wonolog-customization.md) for a deep travel through all the possible configurations available for any aspect of the package.\n- [06 - Custom Hook Listeners](docs/06-custom-hook-listeners.md) to see a complete example of a custom hook listener, its integration in Wonolog, and all the things that you need to know in order to write reusable Wonolog extensions.\n\n\n## Copyright and License\n\nGood news, this library is free for everyone! Since it's released under the MIT License you can use it free of charge on your personal or commercial website.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finpsyde%2Fwonolog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finpsyde%2Fwonolog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finpsyde%2Fwonolog/lists"}