# sucht im inhalt der datei nach suchbegriff /suchbegriff # ersetzt im inhalt der datei alt mit neu # slashes und * im patter/replacement müssen escaped werden :%s/alt/neu/g
Kategorie: Debugging
Um in Agavi custom logfiles zu erstellen, benötigt man einen eigens erstellten logger + appender in der app/config/logger.xml.
<!-- logs only custom messages in a custom log --> <logger name="custom" class="AgaviLogger" level="'custom'"> <appenders> <appender>CustomLogAppender</appender> </appenders> </logger> <appender name="CustomLogAppender" class="AgaviFileLoggerAppender" layout="DateTimeLayout"> <ae:parameters> <ae:parameter name="file">%core.app_dir%/log/custom.log</ae:parameter> </ae:parameters> </appender>
Dann kann man den Logger quasi überall wo der LoggerManager verfügbar ist benutzen.
$message = 'Custom logging message'; $this->getContext()->getLoggerManager()->log(new AgaviLoggerMessage($message, 'custom'), 'custom');
Und in der bash das logfile einsehen.
tail -f app/log/custom.log
Hier der Link zu PHPBench. Benchmarks für PHP Funktionen.
XDebug ist das sehr beliebte und allseits bewährte Tool, das nicht nur Stacktrace und var_dumps ausgeben kann, sondern ebenso für CodeCoverage, echtes Debuggen, Profiling und Testen mit PHPUnit gedacht ist.
XDebug kann Profiler Dateien erzeugen, die man mit KCacheGrind perfekt auswerten kann. So bleibt kein Flaschenhals in der Applikation unbemerkt.