zoukankan      html  css  js  c++  java
  • 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');

  • 相关阅读:
    Vue自定义过滤器格式化数字三位加一逗号
    js复制功能
    vue中数据接收成功,页面渲染失败
    css技巧
    vue+elementUI table篇
    图片预加载
    jquery实现文字自动向上滚动,鼠标放上去停止,移开继续滚动代码...
    【Flutter】广播机制
    【Flutter】IOS打包
    【Flutter】BottomNavigationBar切换页面被重置问题(保存状态)
  • 原文地址:https://www.cnblogs.com/dluf/p/2859932.html
Copyright © 2011-2022 走看看