https://github.com/edmondscommerce/symfony-performance-logger
Provides basic Symfony performance logging that's safe to use in a live environment
https://github.com/edmondscommerce/symfony-performance-logger
Last synced: 7 months ago
JSON representation
Provides basic Symfony performance logging that's safe to use in a live environment
- Host: GitHub
- URL: https://github.com/edmondscommerce/symfony-performance-logger
- Owner: edmondscommerce
- License: mit
- Created: 2019-07-02T13:11:26.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-04T07:52:54.000Z (almost 7 years ago)
- Last Synced: 2025-02-28T13:07:40.941Z (over 1 year ago)
- Language: PHP
- Size: 10.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# symfony-performance-logger
## By [Edmonds Commerce](https://www.edmondscommerce.co.uk)
Provides basic Symfony performance logging that's safe to use in a live environment.
## Install
In order to install this module add the following to your `composer.json`:
```text
{
...
"require": {
"edmondscommerce/symfony-performance-logger": "dev-master"
},
...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/edmondscommerce/symfony-performance-logger.git"
}
],
...
}
```
## Configure
In order to use these listeners you simply need to add the following to your `config/services.yaml`:
```yaml
services:
# Log performance metrics
performance.logging:
class: EdmondsCommerce\SymfonyPerformanceLogger\PerformanceListener
tags:
- { name: kernel.event_listener, event: console.command }
- { name: kernel.event_listener, event: console.terminate }
- { name: kernel.event_listener, event: kernel.request }
- { name: kernel.event_listener, event: kernel.terminate }
# Configure the performance logger
EdmondsCommerce\SymfonyPerformanceLogger\PerformanceLogger:
arguments: [, '@monolog.logger.performance']
```
And then create the `performance` channel for all environments `config/packages/test/monolog.yaml`,
`config/packages/dev/monolog.yaml` and `config/packages/prod/monolog.yaml`.
This is needed to ensure that `monolog.logger.performance` is available for DI (even though nothing will be logged
in the other environments):
```yaml
monolog:
# Create performance channel
channels: ["performance"]
```
Finally configure some logging for the `performance` channel in `config/packages/prod/monolog.yaml`:
```yaml
monolog:
handlers:
# Log performance data
performance-stream:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.performance.log"
level: info
channels: ["performance"]
# Log performance data to Slack
performance-slackwebhook:
type: slackwebhook
level: critical
bot_name: 'Bot Name'
webhook_url: "Web Hook Url"
channel: "Slack Channel"
channels: ["performance"]
```