-
Notifications
You must be signed in to change notification settings - Fork 33
Laravel 10 compatibility processor configurations #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Laravel 10 compatibility processor configurations #49
Conversation
Hello, thanks for this PR.
Can you explain briefly what is the purpose of the options (with) when configuring processors?
Maybe you can share a Processor you are using with my package that can benefit from defining options?
Hello, thanks for this PR.
Can you explain briefly what is the purpose of the options (
with) when configuring processors?Maybe you can share a Processor you are using with my package that can benefit from defining options?
Hello, this is a parameters for Processor construct method.
- Processor can use another services, and when you create it with Container, they can be automatically injected
- Processor can have some configuration, that you can set with
withconfiguration for constructor
For example https://github.com/Seldaek/monolog/blob/main/src/Monolog/Processor/MemoryProcessor.php this processor have two options, and with with config, you can override them
[ 'processor' => Monolog\Processor\MemoryUsageProcessor::class, 'with' => ['useFormatting' => env('USE_FORMATTING_MEMORY', false)] ]
In our cases Graylog has limitation for context item size, we have to split it into the chunks to avoid missed message parts. We use constructor parameters to define size of this chunks
'processors' => [ ..., [ 'processor' => GraylogContextFragmentationProcessor::class, 'with' => [ 'contextChunkSize' => env('GRAYLOG_CONTEXT_CHUNK_SIZE', 25), ], ], ],
Ok thanks.
Can I see your GraylogContextFragmentationProcessor::class to fully understand and write a test for this new feature?
Ok thanks.
Can I see your
GraylogContextFragmentationProcessor::classto fully understand and write a test for this new feature?
This class has a lot of project specific code =)
For example, i add feature to existing RequestIdProcessor, for change recorder field name, and add test to it.
[ 'processor' => \Hedii\LaravelGelfLogger\Processors\RenameIdFieldProcessor::class, 'with' => [ 'fieldName' => '_other_id', ], ],
Adding Laravel 10 compatibility for logger processors configuration
https://laravel.com/docs/10.x/logging#monolog-processors
Original code can by found here:
https://github.com/illuminate/log/blob/cf040cfddc30d5746554f173fc9c1f535077af45/LogManager.php#L409