/** * {@inheritdoc} */ public function handle(array $record) { $message = Logger::interpolate($record['message'], $record['context']); if ($record['level'] != LogLevel::INFO) { $message = '[' . $record['level'] . '] ' . $message; } if (Logger::compare($record['level'], LogLevel::ERROR) >= 0) { $this->shell->error($message); } else { $this->shell->put($message); } }
/** * Format a log message for a log file. * @param array $record Log message array. * @return string Formatted log message followed by a line break. */ public static function format(array $record) { $seconds = (int) $record['time']; $millis = floor(($record['time'] - $seconds) * 1000); $timestamp = date('Y-m-d H:i:s', $seconds); $timestamp .= sprintf('.%03d ', $millis); $timestamp .= date('P'); $level = '[' . $record['level'] . ']'; $message = ''; $message .= Logger::interpolate($record['message'], $record['context']); if (isset($record['context']['file'])) { $message .= ' in ' . $record['context']['file']; } if (isset($record['context']['line'])) { $message .= ' on line ' . $record['context']['line']; } return $timestamp . ' ' . $level . ' ' . $message . PHP_EOL; }
</th> <th><?php echo tr('File'); ?> </th> <th><?php echo tr('Time'); ?> </th> </tr> </thead> <tbody> <?php foreach ($log as $record) { $context = $record['context']; $message = \Jivoo\Core\Log\Logger::interpolate($record['message'], $context); ?> <tr> <td> [<?php echo $record['level']; ?> ] <?php echo h($message); ?> </td> <td> <span title="<?php echo isset($context['file']) ? $context['file'] : ''; ?>
<?php // Example: Using Jivoo database system outside of Jivoo applications. use Jivoo\Core\Store\Document; use Jivoo\Databases\DatabaseSchemaBuilder; use Jivoo\Databases\DynamicSchema; use Jivoo\Databases\Loader; use Jivoo\Core\Log\Logger; use Jivoo\Core\Log\CallbackHandler; // Include Jivoo by either using composer or including the bootstrap script: require '../../src/bootstrap.php'; // Initialize database loader with connection settings for "default" database: $loader = new Loader(new Document(array('default' => array('driver' => 'PdoMysql', 'server' => 'localhost', 'username' => 'jivoo', 'database' => 'jivoo')))); // Log database queries to output $logger = new Logger(); $logger->addHandler(new CallbackHandler(function (array $record) { if (isset($record['context']['query'])) { echo 'query: ' . $record['context']['query'] . PHP_EOL; } })); $loader->setLogger($logger); // Connect to "default": $db = $loader->connect('default'); echo '<pre>'; // Get data for root user: print_r($db->User->where('username = %s', 'root')->first()->getData()); // List names of users created after 2015-01-01 $users = $db->User->where('created > %d', '2015-01-01')->orderBy('created'); foreach ($users as $user) { echo h($user->username) . PHP_EOL; }
/** * {@inheritdoc} */ public function accepts($level) { return Logger::compare($level, $this->level) >= 0; }