PHPUnit+symfony2:异常日志记录


PHPUnit + symfony2: Excesive logging

我使用PHPUnit在使用symfony开发的Web应用程序上运行单元测试和功能测试。

每次我运行PHP功能测试时,我都会收到大量的日志消息,其形式如下:

 [exec] [2013-11-22 12:42:05] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'TestSessionListener::onKernelRequest". [] {"uid":"58329be"}
 [exec] [2013-11-22 12:42:05] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Bundle'FrameworkBundle'EventListener'SessionListener::onKernelRequest". [] {"uid":"58329be"}
 [exec] [2013-11-22 12:42:05] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'FragmentListener::onKernelRequest". [] {"uid":"58329be"}
 [exec] [2013-11-22 12:42:05] event.DEBUG: Notified event "kernel.request" to listener "Symfony'Component'HttpKernel'EventListener'RouterListener::onKernelRequest". [] {"uid":"58329be"}

以及其他一些堆栈跟踪,即使测试通过。

这是我的Ant构建脚本中的目标:

<macrodef name="RunPHPUnitSuite">
    <attribute name="suite" />
    <sequential>
        <exec executable="php" failOnError="true" dir="${base.dir}">
        <arg value="C:'someDir'phpunit.phar" />
        <arg value="-c" />
        <arg value="symfony2'app" />
        <arg value="--testsuite" />
        <arg value="@{suite}" />
    </exec>
    </sequential>
</macrodef>
<target name="PHPUnitTests" depends="delete_test_reports">
    <RunPHPUnitSuite suite="UnitTests" />
    <replace file="${testReports.dir}'phpunit.xml" 
        token='testsuite name="UnitTests"' 
        value='testsuite name="PHP"' />
    <replaceregexp file="${testReports.dir}'phpunit.xml"
        match='testsuite name="('w+'')+'
        replace='testsuite name="'
        byline="true" />
    <replaceregexp file="${testReports.dir}'phpunit.xml"
        match='class="('w+'')+'
        replace='classname="PHPUnitTests.'
        byline="true" />
    <move file="${testReports.dir}'phpunit.xml" 
        tofile="${teamcityReports.dir}'php_unit_tests.xml" />
</target>

我该如何降低消息的级别?最佳输出将是我在PHP单元测试时得到的输出

 WebApp.PHPUnitTests:
      [exec] PHPUnit 3.7.19 by Sebastian Bergmann.
      [exec]
      [exec] Configuration read from C:'Work'Software'WebApp'symfony2'app'phpunit.xml.dist
      [exec]
      [exec] ...............................................................  63 / 148 ( 42%)
      [exec] ............................................................... 126 / 148 ( 85%)
      [exec] ......................
      [exec]
      [exec] Time: 2 seconds, Memory: 12.00Mb
      [exec]
      [exec] ←[30;42m←[2KOK (148 tests, 266 assertions)
      [exec] ←[0m←[2K
      [move] Moving 1 file to C:'Work'Software'TestReports'
 BUILD SUCCESSFUL
 Total time: 3 seconds

将config.yml中日志记录的操作级别提高到"error"或"critical"会减少日志记录的数量,但对于开发来说,它们可能很有用。