Beispiel #1
0
 */
define('SABRE_KATANA', true);
/**
 * Current version.
 */
define('SABRE_KATANA_VERSION', '0.1.1');
/**
 * Define the prefix.
 */
define('SABRE_KATANA_PREFIX', __DIR__);
/**
 * Handle exceptions and errors.
 */
Core\Core::enableExceptionHandler(true);
Core\Core::enableErrorHandler(true);
/**
 * Log all exceptions.
 */
event('hoa://Event/Exception')->attach(function (Core\Event\Bucket $bucket) {
    $exception = $bucket->getData();
    $filename = date('Ymd') . '.exceptions.log';
    $file = new File\Write('katana://data/log/' . $filename);
    $exceptionFile = $exception->getFile();
    $prefixLength = strlen(SABRE_KATANA_PREFIX);
    if (SABRE_KATANA_PREFIX === substr($exceptionFile, 0, $prefixLength)) {
        $exceptionFile = substr($exceptionFile, $prefixLength + 1);
    }
    $file->writeAll(sprintf('[%s] "%s" %s:%d' . "\n", date('c'), $exception->getMessage(), $exceptionFile, $exception->getLine()));
    $file->close();
    return;
});