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

转载于:https://www.cnblogs.com/dluf/archive/2013/01/14/2859932.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值