Example #1
0
 /**
  * 複数のログを書き込む
  * @param array $contents
  *   全て同じレベルで書き込む場合
  *      $contents = [
  *          msg1,msg2
  *      ]
  *      or
  *      $contents = [
  *          [msg =>msg1],
  *          [msg =>msg2]
  *      ]
  *    個別にレベルを指定する場合
  *      $contents = [
  *          [msg => msg1, level => notice],
  *          [msg => msg2, level => warning],
  *      ]
  * @param null $level $contentsの子要素にlevelを指定しない場合はかならず指定
  */
 public function write(array $contents, $level = null)
 {
     $this->logger->begin();
     foreach ($contents as $content) {
         if (!is_array($content) || !isset($content['level'])) {
             if (is_null($level)) {
                 $this->warning('No log level set');
                 $this->info($content);
             } else {
                 $this->{$level}($content);
             }
         } else {
             $level = $content['level'];
             $this->{$level}($content['msg']);
         }
     }
     $this->logger->commit();
 }
Example #2
0
 /**
  * Tests the begin/rollback
  *
  * @author Nikos Dimopoulos <*****@*****.**>
  * @since  2012-11-30
  */
 public function testRollback()
 {
     $fileName = $this->getFileName('log', 'log');
     $logger = new PhLoggerAdapterFile($this->logPath . $fileName);
     $logger->log('Hello');
     $contents = file($this->logPath . $fileName);
     $expected = 1;
     $actual = count($contents);
     $this->assertEquals($expected, $actual, 'Log does not contain correct number of messages before rollback');
     $logger->begin();
     $logger->log('Message 1');
     $logger->log('Message 2');
     $logger->log('Message 3');
     $logger->rollback();
     $logger->close();
     $contents = file($this->logPath . $fileName);
     $expected = 1;
     $actual = count($contents);
     $this->cleanFile($this->logPath, $fileName);
     $this->assertEquals($expected, $actual, 'Log does not contain correct number of messages after rollback');
 }
Example #3
0
 /**
  * Tests the begin/rollback
  *
  * @author Nikolaos Dimopoulos <*****@*****.**>
  * @since  2014-09-13
  */
 public function testLoggerAdapterFileRollback()
 {
     $this->specify("Logging does not contain correct number of messages before rollback", function () {
         $fileName = newFileName('log', 'log');
         $logger = new PhTLoggerAdapterFile($this->logPath . $fileName);
         $logger->log('Hello');
         $logger->close();
         $contents = file($this->logPath . $fileName);
         cleanFile($this->logPath, $fileName);
         $expected = 1;
         $actual = count($contents);
         expect($actual)->equals($expected);
     });
     $this->specify("Logging does not contain correct number of messages after rollback", function () {
         $fileName = newFileName('log', 'log');
         $logger = new PhTLoggerAdapterFile($this->logPath . $fileName);
         $logger->log('Hello');
         $logger->begin();
         $logger->log('Message 1');
         $logger->log('Message 2');
         $logger->log('Message 3');
         $logger->rollback();
         $logger->close();
         $contents = file($this->logPath . $fileName);
         cleanFile($this->logPath, $fileName);
         $expected = 1;
         $actual = count($contents);
         expect($actual)->equals($expected);
     });
 }
Example #4
0
<?php

use Phalcon\Logger\Adapter\File as FileAdapter;
// Create the logger
$logger = new FileAdapter("app/logs/test.log");
// Start a transaction
$logger->begin();
// Add messages
$logger->alert("This is an alert");
$logger->error("This is another error");
// Commit messages to file
$logger->commit();