如何从 Symfony2 中的包覆盖全局 Monolog 配置
How to override global Monolog configuration from a bundle in Symfony2
我想从我的包中覆盖全局 config.yml
Monolog 配置。然而,当我尝试写类似的东西时:
monolog:
# some new configuration params
我收到这个错误:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
There is no extension able to load the configuration for "monolog"
有没有办法在不添加编译器传递的情况下修改配置?
我知道我可能来晚了,但我已经找到了解决方案,因为我也想这样做。
在你的 bundle 扩展加载方法中,你应该注册 MonologExtension,然后你可以在你的 bundle 配置文件中加载 monolog 配置:
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
// Register extension to load monolog configuration in bundle.
$container->registerExtension(new MonologExtension());
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('config_' . $container->getParameter('kernel.environment') . '.yml');
}
我想从我的包中覆盖全局 config.yml
Monolog 配置。然而,当我尝试写类似的东西时:
monolog:
# some new configuration params
我收到这个错误:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
There is no extension able to load the configuration for "monolog"
有没有办法在不添加编译器传递的情况下修改配置?
我知道我可能来晚了,但我已经找到了解决方案,因为我也想这样做。
在你的 bundle 扩展加载方法中,你应该注册 MonologExtension,然后你可以在你的 bundle 配置文件中加载 monolog 配置:
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
// Register extension to load monolog configuration in bundle.
$container->registerExtension(new MonologExtension());
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('config_' . $container->getParameter('kernel.environment') . '.yml');
}