Php 使用Monolog在symfony中编写日志

Php 使用Monolog在symfony中编写日志,php,symfony,logging,symfony-2.3,monolog,Php,Symfony,Logging,Symfony 2.3,Monolog,我的项目有问题,我想用独白来写日志,但我做不到。 因此,我创建了一个服务: services: my_logger: class: Monolog\Logger arguments: [Debug] calls: - [pushHandler, [@my_log_handler]] my_log_handler: class: Monolog\Handler\StreamHandler arguments: [/home/vagrant/Workspace/

我的项目有问题,我想用独白来写日志,但我做不到。 因此,我创建了一个服务:

services:
 my_logger:
  class: Monolog\Logger
  arguments: [Debug]
  calls:
    - [pushHandler, [@my_log_handler]]

 my_log_handler:
   class: Monolog\Handler\StreamHandler
   arguments: [/home/vagrant/Workspace/symfony/app/logs/test.log, 100]
我的控制器:

    $em = $this->getDoctrine()->getManager();
    $categories = $em->getRepository('EnsJobeetBundle:Category')->getWithJobs();
如果我写:

$logger = $this->get('my_logger');
$logger->info('Test log');
$logger = $this->get('my_logger');
$logger->info(print_r($categories,true));
日志将插入test.log中

如果我写:

$logger = $this->get('my_logger');
$logger->info('Test log');
$logger = $this->get('my_logger');
$logger->info(print_r($categories,true));
日志不会写。我得到了错误500。 请帮帮我。提前谢谢!!! 错误:

2015/03/05 12:58:48 [error] 4698#0: *76 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 532676608 bytes) 


PHP message: PHP   8. print_r() /home/vagrant/Workspace/symfony/src/Ens  /JobeetBundle/Controller/JobController.php:34" while reading response header  from upstream, client: 10.0.2.2, server: symfony.md, request: "GET
/job/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "symfony.dev:8000"

您试图处理阵列时内存不足。这可能有很多原因,可能它太大了,可能它有递归方面,等等

使用此工具时的一个好技巧是只打印密钥。您将看到更少的数据,但超出内存限制的可能性要小得多。查看阵列后,可以在查看键后打印阵列的特定部分。试试这个:

$logger = $this->get('my_logger');
$logger->info(print_r(array_keys($categories),true));
另一种选择是,如果您真的需要查看整个数组,可以在php.ini中增加内存限制。寻找这样的行来更改它们:

memory_limit = 128MB

你的服务器日志怎么说?你应该有关于错误的详细信息。在日志中,错误是:允许内存大小536870912字节已用尽,我试图在php.ini中增大此内存,但问题仍然存在。你可以编辑你的问题并添加一些日志行吗?尝试在不使用打印功能的情况下进行日志记录。你还有内存问题吗?如果没有打印,我会得到:“注意:数组到字符串的转换”