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');

  • 相关阅读:
    slf4j中的MDC
    redis incr incrby decr decrby命令
    Java接口响应超时监控
    JDK1.7.0_45源码阅读<java.lang.Boolean>
    Debug JDK变量显形
    Java全角、半角字符的关系以及转换
    模型选择
    经验风险最小化
    支持向量机(下)
    支持向量机(上)
  • 原文地址:https://www.cnblogs.com/dluf/p/2859932.html
Copyright © 2011-2022 走看看