本文實例講述了Laravel日志用法。分享給大家供大家參考,具體如下:
這里使用的Laravel版本仍是5.2
日志是非常重要的。本地開發可以開啟調試模式,但是上線的項目查看日志是非常簡潔有效的調試手段。Laravel集成了Monolog日志庫以便提供多種功能強大的日志處理器。
Laravel支持日志方法single, daily, syslog 和 errorlog。例如,如果你想要日志文件按日生成而不是生成單個文件,應該在配置文件config/app.php中設置log值如下:
log = daily
系統默認配置為single
#config/app.php:111 log = env( APP_LOG , single ),
下面我們看下Laravel是如何配置日志的。
#vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:36protected $bootstrappers = [ Illuminate/Foundation/Bootstrap/DetectEnvironment , Illuminate/Foundation/Bootstrap/LoadConfiguration , Illuminate/Foundation/Bootstrap/ConfigureLogging , Illuminate/Foundation/Bootstrap/HandleExceptions , Illuminate/Foundation/Bootstrap/RegisterFacades , Illuminate/Foundation/Bootstrap/RegisterProviders , Illuminate/Foundation/Bootstrap/BootProviders , ?phpnamespace Illuminate/Foundation/Bootstrap;use Illuminate/Log/Writer;use Monolog/Logger as Monolog;use Illuminate/Contracts/Foundation/Application;html' target='_blank'>class ConfigureLogging * Bootstrap the given application. * @param /Illuminate/Contracts/Foundation/Application $app * @return voidpublic function bootstrap(Application $app) $log = $this- registerLogger($app); // If a custom Monolog configurator has been registered for the application // we will call that, passing Monolog along. Otherwise, we will grab the // the configurations for the log system and use it for configuration. if ($app- hasMonologConfigurator()) { call_user_func( $app- getMonologConfigurator(), $log- getMonolog() } else { $this- configureHandlers($app, $log);}
如果自定義Monolog配置,走if條件,默認走else
protected function configureHandlers(Application $app, Writer $log) $method = configure .ucfirst($app[ config ][ app.log ]). Handler $this- {$method}($app, $log);* Configure the Monolog handlers for the application.* @param /Illuminate/Contracts/Foundation/Application $app* @param /Illuminate/Log/Writer $log* @return voidprotected function configureSingleHandler(Application $app, Writer $log) $log- useFiles( $app- storagePath(). /logs/laravel.log , #存儲文件 $app- make( config )- get( app.log_level , debug ) #存儲級別}
這里useFiles方法是注冊signle文件日志處理程序,并設置存儲文件以及存儲的級別。
下面是初始化日志時的4種日志處理注冊方式。
public function useFiles($path, $level = debug ) #單一文件public function useDailyFiles($path, $days = 0, $level = debug ) #每日生成public function useSyslog($name = laravel , $level = debug ) #系統日志的方式public function useErrorLog($level = debug , $messageType = ErrorLogHandler::OPERATING_SYSTEM) #等同于php的error_log方式
日志初始化信息基本上就是上面這些。
你可以使用Log門面編寫日志信息到日志中:
八種日志級別:emergency, alert, critical, error,warning, notice, info 和 debug。
Log::emergency($error);Log::alert($error);Log::critical($error);Log::error($error);Log::warning($error);Log::notice($error);Log::info($error);Log::debug($error);
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
關于Laravel5中Cookie的使用
學習laravel的模型事件的幾種用法
以上就是關于Laravel的日志用法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答