Symfony CMF动态路由器无法匹配.日志



我有一个使用Symfony CMF路由包1.3的Symfony 2.6应用程序,其中我们使用常规Symfony路由和动态路由的组合来定制存储(除其他外,下面的示例主要关注我们的一个动态路由器)。

问题是,当路由器工作正常时,我们会得到关于路由器无法匹配动态路由的无休止的日志。

最常见的条目是:

Router SymfonyBundleFrameworkBundleRoutingRouter was not able to match, message ""

我们偶尔看到

Router SymfonyCmfBundleRoutingBundleRoutingDynamicRouter was not able to match, message ""

是否有办法禁用这些日志或更改我的动态路由器配置/设置,以便这些错误只在路由实际失败时出现

这是我的配置/设置:

# app/config/config.yml
cmf_routing:
    chain:
        routers_by_id:
            router.default:             32
            cmf_routing.dynamic_router: 30
    dynamic:
        enabled:                      true
        route_provider_service_id:    store_router
而实际的基于 的动态路由器
// StoreBundle/Router/StoreRouter.php
<?php
/**
 * @DIService("store_router")
 */
class StoreRouter implements RouteProviderInterface
{
    protected $em;
    /**
     * @DIInjectParams({
     *      "em" = @DIInject("doctrine.orm.entity_manager")
     * })
     */
    public function __construct(EntityManager $em)
    {
        $this->em = $em;
    }
    /**
     * @param Request $request
     * @return RouteCollection
     */
    public function getRouteCollectionForRequest(Request $request)
    {
        $collection = new RouteCollection();
        $store = $this->em->getRepository('StoreBundle:Store')->findOneBySlug(substr($request->getPathInfo(), 1), $request->get('key', null));
        // no store found, return an empty collection
        if (empty($store)) {
            return $collection;
        }
        $route = new Route(
            '/' . $store->getSlug(),
            [
                '_controller' => 'StoreBundle:Store:view',
                'slug' => $stote->getSlug()
            ]
        );
        $collection->add($store->getSlug(), $route);
        return $collection;
    }
    public function getRouteByName($name, $params = [])
    {
    }
    public function getRoutesByNames($names)
    {
    }
}

如果有更好的方法来使用动态路由,我很乐意听到:)

日志条目在"debug"级别创建。您可以将记录器的最低级别设置得更高。如果您需要其他事情的调试日志,您可以编写一个CompilerPass来删除symfony_cmf上的logger参数。路由器服务。

我同意让日志级别可配置是有意义的,使用false选项来完全禁用日志记录。如果你想这样做,我很乐意审查并合并Routing组件上的拉请求,以获取代码和RoutingBundle,以公开配置。

最新更新