Я хотел бы перейти с Symfony 4.4. до 5.0. Поэтому я должен проверить наличие устаревания в коде. В руководстве по миграции Symfony сказано, что я использовать панель инструментов веб-разработчика, но в моем API-приложении нет внешнего интерфейса для панели инструментов.
Как я могу настроить symfony/monolog для записи предупреждений об устаревании в лог-файл?
Обновление Я создал минимальный пример:
composer create-project symfony/website-skeleton:4.3.99
TestController.php
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* Class ApiController
* @package App\Controller
* @Route("", defaults={"_format"="json"})
*
*/
class TestController extends AbstractController
{
/**
* @Route("/test", name="test")
* @param Request $request
* @return Response
*/
public function test(Request $request): Response
{
@trigger_error(sprintf('DEMO DEPRECATION', __METHOD__), E_USER_DEPRECATED);
return $this->json([
'test' => '1'
]);
}
}
монолог.yml
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine", "!console"]
deprecation_stream:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log"
deprecation_filter:
type: filter
handler: deprecation_stream
max_level: info
channels: ["php"]
запустить сервер
bin/console server:run
откройте http://localhost/test
Но dev.deprecations.log по-прежнему пуст.