ホームページ  >  記事  >  バックエンド開発  >  Laravelログの使用について

Laravelログの使用について

不言
不言オリジナル
2018-06-13 15:26:152318ブラウズ

この記事ではLaravelログの使い方を中心に紹介し、Laravelログの機能、定義、利用方法、注意点などをサンプル形式で詳しく解説しています。必要な方は以下を参考にしてください。この記事の Laravel ログの使用例。参考までに皆さんと共有してください。詳細は次のとおりです。

ここで使用する Laravel のバージョンはまだ 5.2です。

ログは非常に重要です。ローカル開発ではデバッグ モードをオンにすることができますが、オンライン プロジェクトのログを表示するのが非常に簡単で効果的なデバッグ方法です。 Laravel は Monolog ロギング ライブラリを統合して、さまざまな強力なログ プロセッサを提供します。

Laravel は、単一、毎日、syslog、およびエラーログのログ方法をサポートしています。たとえば、ログ ファイルを 1 つのファイルではなく毎日生成したい場合は、構成ファイル config/app.php でログ値を次のように設定する必要があります:

'log' => 'daily'

システムのデフォルト設定は single

#config/app.php:111
'log' => env('APP_LOG', 'single'),

Laravel がログを設定する方法を見てみましょう。

#

#vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:36
protected $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',
];
<?php
namespace Illuminate\Foundation\Bootstrap;
use Illuminate\Log\Writer;
use Monolog\Logger as Monolog;
use Illuminate\Contracts\Foundation\Application;
class ConfigureLogging
{
/**
 * Bootstrap the given application.
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @return void
 */
public 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 = &#39;configure&#39;.ucfirst($app[&#39;config&#39;][&#39;app.log&#39;]).&#39;Handler&#39;;
    $this->{$method}($app, $log);
}
/**
* Configure the Monolog handlers for the application.
*
* @param \Illuminate\Contracts\Foundation\Application $app
* @param \Illuminate\Log\Writer $log
* @return void
*/
protected function configureSingleHandler(Application $app, Writer $log)
{
     $log->useFiles(
       $app->storagePath().&#39;/logs/laravel.log&#39;, #存储文件
       $app->make(&#39;config&#39;)->get(&#39;app.log_level&#39;, &#39;debug&#39;) #存储级别
     );
}

# です。

# #ここでの useFiles メソッドは、単一ファイル ログ ハンドラーを登録し、ストレージ ファイルとストレージ レベルを設定することです。

ログ初期化時のログ処理の登録方法は以下の4つです。

public function useFiles($path, $level = &#39;debug&#39;) #单一文件
public function useDailyFiles($path, $days = 0, $level = &#39;debug&#39;) #每日生成
public function useSyslog($name = &#39;laravel&#39;, $level = &#39;debug&#39;) #系统日志的方式
public function useErrorLog($level = &#39;debug&#39;, $messageType = ErrorLogHandler::OPERATING_SYSTEM) #等同于php的error_log方式

ログの初期化情報は基本的に上記のとおりです。

ログ ファサードを使用して、ログ情報をログに書き込むことができます:

8 つのログ レベル: 緊急、アラート、クリティカル、エラー、警告、通知、情報、デバッグ。

Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);

以上がこの記事の全内容です、皆さんの勉強に役立てていただければ幸いです。その他の関連コンテンツにも注目してください。

関連する推奨事項:

Laravel での Cookie の使用について5

laravel のモデル イベントのいくつかの使用法を学習します


以上がLaravelログの使用についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。