bbrist/laravel-console-logger

在 artisan 命令期间记录到控制台

0.1.1 2022-07-01 19:27 UTC

This package is auto-updated.

Last update: 2024-09-29 06:09:08 UTC


README

laravel-console-logger 包是一个辅助包,旨在允许进行更深入的控制台日志记录

默认情况下,将此包添加到您的项目中将通过 ServiceProvider 自动将日志(即 Log::info() 语句)重定向到控制台输出。可以通过 Artisan 控制台的详细程度标志(例如 -v-vv-vvv-q)更改输出的日志级别。

默认配置下,-q 将不输出任何内容,没有详细程度参数将输出 error 和更高级别的日志,-v 将输出 warning 和更高级别的日志,-vv 将输出 info 和更高级别的日志,而 -vvv 将输出所有日志到控制台。

可以使用 config/logging.php 配置文件来更改默认配置。默认情况下,noticeerrorcriticalalertemergency 级别的日志会记录到控制台(即使指定了 -q)以及 laravel.log 文件中。要添加/删除要包含在 laravel.log 文件中的级别,只需设置/修改 config/logging.php 文件中的 console.logMethods 值。

要无论是否记录到控制台都记录所有日志到文件,您可以在 config/logging.php 文件中将 console.logToFile 值设置为 true

强制记录到文件

Log::logToFile() 方法将强制后续所有日志记录到 laravel.log。您可以通过提供参数来显式设置此状态为 truefalse(例如,Log::logToFile(false))。

当您想要确保代码块被记录到 laravel.log,而不管它在哪里如何执行(取决于 env('LOG_LEVEL') 的值)时,这很有用。

例如

public function mymethod() {

    Log::logToFile(true);   // enable force log-to-file
    
    ... 
    
    Log::info("some message");  // This will always be logged to file (dependent on the LOG_LEVEL ENV value)
    
    ... 
    
    Log::logToFile(false);  // disable force log-to-file

}