• Symfony2 配置自己的log日志、使用配置文件定义全局常量


          Symfnoy框架自带monolog,输出到项目的app/logs下。如果想在程序运行时,把一些需要的信息记录到特定的日志里,这里可以找到答案。记录log可以方便理解程序业务逻辑及流程,也给调试bug提供了查找信息。

    一、在NewBundle的配置service.yml中配置

    my_logger:
    class: Symfony\Bridge\Monolog\Logger
    arguments: [my]
    calls:
    - [pushHandler, ["@my_handler"]]

    my_handler:
    class: Monolog\Handler\StreamHandler
    arguments: [%kernel.logs_dir%/%kernel.environment%.my.log]

    便可以在control中使用该log,例如

    $logger = $this->container->get('my_logger');
    $logger->debug(date('Y-m-d H:i:s'));
    $logger->debug("MY LOG.");
    $logger->debug("sql=".$sql);

    然后运行程序,可以看到自定义的log已经生成,即prod.my.log

    打开该日志,可以看到

    [2013-01-14 16:13:14] my.DEBUG: 2013-01-14 16:13:14 [] []
    [2013-01-14 16:13:14] my.DEBUG: MY LOG. [] []
    [2013-01-14 16:13:14] my.DEBUG: sql=select * from symfony_use [] []
    [2013-01-14 16:18:01] my.DEBUG: 2013-01-14 16:18:01 [] []
    [2013-01-14 16:18:01] my.DEBUG: MY LOG. [] []
    [2013-01-14 16:18:01] my.DEBUG: sql=select * from symfony_use [] []
    [2013-01-14 16:18:13] my.DEBUG: 2013-01-14 16:18:13 [] []
    [2013-01-14 16:18:13] my.DEBUG: MY LOG. [] []
    [2013-01-14 16:18:13] my.DEBUG: sql=select * from symfony_use [] []
    [2013-01-14 16:18:14] my.DEBUG: 2013-01-14 16:18:14 [] []
    [2013-01-14 16:18:14] my.DEBUG: MY LOG. [] []
    [2013-01-14 16:18:14] my.DEBUG: sql=select * from symfony_use [] []

    二、配置文件定义全局常量,例如一些版本信息等

    1、先在项目app/config中新建一个version.yml文件

    在version.yml文件中定义常量

    2、在config.yml中引入version.yml

    现在可以在control中使用这些常量,例如在一个control的action中调用

    $version = $this->container->getParameter('sym_version');

  • 相关阅读:
    菜根谭#298
    菜根谭#297
    菜根谭#296
    菜根谭#295
    菜根谭#294
    菜根谭#293
    菜根谭#292
    菜根谭#291
    菜根谭#290
    菜根谭#289
  • 原文地址:https://www.cnblogs.com/dluf/p/2859932.html
Copyright © 2020-2023  润新知