Laravel4SAE v1.1.0发布,增加对Log的支持

April 27, 2014
laravel4 sae

Laravel4sae 是我专门为让laravel4完美运行在新浪sae上做的开源项目。

详细介绍可以看我发布的 【在 SAE 上运行 Laravel 4】

{% githubCard chekun laravel4sae %}

v1.0.x完成对基础模块的兼容,今天对Log进行适配。

在Laravel4中,实际上使用了Monolog中两种写日志的handler.

/**
     * Register a file log handler.
     *
     * @param  string  $path
     * @param  string  $level
     * @return void
     */
    public function useFiles($path, $level = 'debug')
    {
        $level = $this->parseLevel($level);

        $this->monolog->pushHandler($handler = new StreamHandler($path, $level));

        $handler->setFormatter(new LineFormatter(null, null, true));
    }

    /**
     * Register a daily file log handler.
     *
     * @param  string  $path
     * @param  int     $days
     * @param  string  $level
     * @return void
     */
    public function useDailyFiles($path, $days = 0, $level = 'debug')
    {
        $level = $this->parseLevel($level);

        $this->monolog->pushHandler($handler = new RotatingFileHandler($path, $days, $level));

        $handler->setFormatter(new LineFormatter(null, null, true));
    }

让Laravel支持sae的日志,也就变得很简单了,只需要增加一个Handler即可。

<?php namespace Lavender\Cloud\Sina\Log;

use Monolog\Handler\AbstractProcessingHandler;

class SaeLogHandler extends AbstractProcessingHandler {

    /**
     * {@inheritdoc}
     */
    protected function write(array $record)
    {
        sae_debug((string) $record['formatted']);
    }

}

没错,就是这么简单。

而且,仅需要在config/app.php中加入以下两行.

加入Log支持

详细使用教程参阅:https://github.com/chekun/laravel4sae/blob/master/HOW-TO.md