zoukankan      html  css  js  c++  java
  • Laravel错误与日志处理

    AppExceptionsHandler class is where all exceptions triggered by your application are logged and then rendered back to the user. We'll dive deeper into this class throughout this documentation.
    For logging, Laravel utilizes the Monolog library, which provides support for a variety of powerful log handlers. Laravel configures several of these handlers for you, allowing you to choose between a single log file, rotating log files, or writing error information to the system log.
    Error Detail
    The debug option in your config/app.php configuration file determines how much information about an error is actually displayed to the user. By default, this option is set to respect the value of the APP_DEBUG environment variable, which is stored in your .env file.
    For local development, you should set the APP_DEBUG environment variable to true. In your production environment, this value should always be false. If the value is set to true in production, you risk exposing sensitive configuration values to your application's end users.
    Laravel supports writing log information to single files, daily files, the syslog, and the errorlog. To configure which storage mechanism Laravel uses, you should modify the logoption in your config/app.php configuration file. For example, if you wish to use daily log files instead of a single file, you should set the log value in your app configuration file to daily:
    'log' => 'daily'
    Maximum Daily Log Files
    When using the daily log mode, Laravel will only retain five days of log files by default. If you want to adjust the number of retained files, you may add a log_max_files configuration value to yourapp configuration file:
    'log_max_files' => 30
    Severity Levels
    When using Monolog, log messages may have different levels of severity. By default, Laravel writes all log levels to storage. However, in your production environment, you may wish to configure the minimum severity that should be logged by adding the log_level option to your app.phpconfiguration file.
    Once this option has been configured, Laravel will log all levels greater than or equal to the specified severity. For example, a default log_level of error will log errorcriticalalert, and emergencymessages:
    'log_level' => env('APP_LOG_LEVEL', 'error'),
    Monolog recognizes the following severity levels - from least severe to most severe:debuginfonoticewarningerrorcriticalalertemergency.
    All exceptions are handled by the AppExceptionsHandler class. This class contains two methods:report and render. We'll examine each of these methods in detail. The report method is used to log exceptions or send them to an external service like Bugsnag or Sentry. By default, the reportmethod simply passes the exception to the base class where the exception is logged. However, you are free to log exceptions however you wish.
    Ignoring Exceptions By Type想要忽略的
    The $dontReport property of the exception handler contains an array of exception types that will not be logged. 
    Some exceptions describe HTTP error codes from the server. For example, this may be a "page not found" error (404), an "unauthorized error" (401) or even a developer generated 500 error. In order to generate such a response from anywhere in your application, you may use the abort helper:
    abort(404);
    abort(403, 'Unauthorized action.');
    Custom HTTP Error Pages
    For example, if you wish to customize the error page for 404 HTTP status codes, create aresources/views/errors/404.blade.php
    The views within this directory should be named to match the HTTP status code they correspond to. The HttpException instance raised by the abort function will be passed to the view as an $exception variable.
    emergencyalertcriticalerror,warningnoticeinfo and debug.
    By default, Laravel is configured to create a log file for your application in the storage/logs directory. You may write information to the logs using the Log facade:
    Log::emergency($message); Log::alert($message); Log::critical($message); Log::error($message); Log::warning($message); Log::notice($message); Log::info($message); Log::debug($message);
    Contextual Information上下文信息
    An array of contextual data
  • 相关阅读:
    用windows公文包实现不同盘符两个文件文件夹文件同步
    flask0.1版本源码浅析——Request
    flask0.1版源码浅析——url分配处理
    itertools内置库
    nltk简要笔记
    python2.x编码问题-转载
    python函数中的默认参数问题
    中文分词模块--jieba笔记
    模拟登陆国内著名知识交流网站
    http协议简介--转载
  • 原文地址:https://www.cnblogs.com/elesos/p/5924669.html
Copyright © 2011-2022 走看看