https://github.com/vstelmakh/psr-test-logger
Easy to use PSR-3 compliant test-logger
https://github.com/vstelmakh/psr-test-logger
log logger logging php psr-3 test
Last synced: 9 months ago
JSON representation
Easy to use PSR-3 compliant test-logger
- Host: GitHub
- URL: https://github.com/vstelmakh/psr-test-logger
- Owner: vstelmakh
- License: mit
- Created: 2025-02-20T22:45:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-04T19:24:42.000Z (9 months ago)
- Last Synced: 2025-10-04T21:23:50.702Z (9 months ago)
- Topics: log, logger, logging, php, psr-3, test
- Language: PHP
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

---
[](https://github.com/vstelmakh/psr-test-logger/actions/workflows/build.yml)
[](https://packagist.org/packages/vstelmakh/psr-test-logger)
# PSR Test Logger
PSR Test Logger is a simple and easy-to-use [PSR-3](https://www.php-fig.org/psr/psr-3/) compliant logger designed specifically for testing.
It provides seamless integration with [PHPUnit](https://phpunit.de/), making logging assertions effortless.
With PSR Test Logger, you can efficiently verify log messages and context, ensuring your application logs expected events without unnecessary complexity.
Key features:
- **Fluent Interface** - Provides clean test assertions with intuitive IDE autocompletion.
- **Predefined Assertions** - A rich set of built-in assertions to validate log messages and contexts.
- **Automatic PHPUnit Integration** - Works seamlessly within PHPUnit test cases, with zero configuration.
- **Extensible** - Easily customizable to fit your testing needs.
If you wonder why not to just mock the logger interface in your tests. The main 🏆 advantage of PSR Test Logger in
comparison to mocking logger - is simplicity of development and maintenance.
For more details and examples see the [Advantages of PSR Test Logger over Mock](./docs/advantages-over-mock.md).
## Requirements
| Requirement | Version |
|-------------|---------|
| PHP | >= 8.1 |
| psr/log | >= 2.0 |
> [!NOTE]
> PHPUnit is not required to use PSR Test Logger. It can be used completely standalone.
## Installation
Install the latest version with [Composer](https://getcomposer.org/):
```bash
composer require --dev vstelmakh/psr-test-logger
```
Remember to require as `dev` dependency. Most likely, you don't need this in production.
## Usage Example
```php
doSomething();
// Thanks to automatic PHPUnit integration,
// corresponding assertations can be performed as simple as:
$logger
->assert()
->hasLog()
->withMessage('Execution complete.');
$logger
->assert()
->hasWarning()
->withMessageContains('not found')
->withContextContainsSameAs('id', 1);
}
}
```
> [!TIP]
> For all the available methods see [Method Reference](./docs/method-reference.md) or check the source code, like [TestLogger](src/TestLogger.php) and [Matcher](src/Match/Matcher.php), it's well documented and easy to follow.
> Or simply use ⚡ autocompletion of your IDE!
## Contributing and Support
If you find this useful, don't hesitate to ⭐ give it a star!
Contributions are welcome. Please check out the [CONTRIBUTING](CONTRIBUTING.md) for guidelines.
## Credits
[Volodymyr Stelmakh](https://github.com/vstelmakh)
Licensed under the MIT License. See [LICENSE](LICENSE) for more information.