如何在laravel 4中执行自定义错误日志

时间:2014-02-08 09:19:40

标签: php laravel-4 monolog

我正在使用此代码记录L4中的错误

    $logFile = 'log-' . php_sapi_name() . '.txt';

    Log::useDailyFiles(storage_path() . '/logs/' . $logFile);
    App::error(function(Exception $exception, $code) {

        Log::error($exception);

    });

但是此日志是带有跟踪堆栈的非常重的错误消息。我不想要任何额外的数据,我只想要一个错误名称,错误代码,错误消息和文件的确切位置。我指的是包含该声明的文件。

1 个答案:

答案 0 :(得分:0)

好吧,你可以尝试制作自己的记录器。像这样:

创建一个名为'Logger'的新模型(或其他名称,但不是'Log',因为它为laravel保留)。

/**
 * Create new log record in database
 *
 */
protected static function createLog($user_id, $ip, $class, $method, $description, $url, $uri, $prio)
{
    $log = new Logger();
    $log->user_id = $user_id;
    $log->ip = $ip;
    $log->class = $class;
    $log->method = $method;
    $log->description = $description;
    $log->url = $url;
    $log->uri = $uri;
    $log->prio = $prio;
    $log->save();
    return true;
}

然后只需调用方法:

Logger::createLog(Auth::user()->id, Request::getClientIp(),'UserController','postCreate','User successfully created', Request::url(), Request::path(), 2);