📜  CakePHP-日志记录

📅  最后修改于: 2020-10-26 05:14:10             🧑  作者: Mango


登录CakePHP是一项非常简单的任务。您只需要使用一个函数。您可以记录任何后台进程(例如cronjob)的错误,异常,用户活动,用户采取的行动。在CakePHP中记录数据很容易。 log()函数由LogTrait提供,它是几乎所有CakePHP类的共同祖先。

记录配置

我们可以配置登录文件config / app.php。该文件中有一个日志部分,您可以在其中配置日志记录选项,如以下屏幕快照所示。

程式设计

默认情况下,您将看到两个日志级别-错误调试已为您配置。每个将处理不同级别的消息。

CakePHP支持各种日志记录级别,如下所示:

  • 紧急-系统无法使用

  • 警报-必须立即采取行动

  • 严重-严重条件

  • 错误-错误条件

  • 警告-警告条件

  • 注意-正常但状况严重

  • 信息-信息性消息

  • 调试-调试级别的消息

写入日志文件

我们可以通过两种方式来写入日志文件。

第一种是使用静态write()方法。以下是静态write()方法的语法。

Syntax write( integer|string $level, mixed $message, string|array $context [] )
Parameters

The severity level of the message being written. The value must be an integer or string matching a known level.

Message content to log.

Additional data to be used for logging the message. The special scope key can be passed to be used for further filtering of the log engines to be used. If a string or a numerically index array is passed, it will be treated as the scope key. See Cake\Log\Log::config() for more information on logging scopes.

Returns

boolean

Description

Writes the given message and type to all of the configured log adapters. Configured adapters are passed both the $level and $message variables. $level is one of the following strings/values.

第二种是使用LogTrait上的任何方法都可以使用log()快捷函数调用log()将在内部调用Log :: write()

如以下程序所示,在config / routes.php文件中进行更改。

config / routes.php

setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',
      ['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('logex',['controller'=>'Logexs','action'=>'index']);
   $builder->fallbacks();
});

src / Controller / LogexsController.php中创建一个LogexsController.php文件将以下代码复制到控制器文件中。

src / Controller / LogexsController.php

log("Something didn't work.",'debug');
      }
   }
?>

src / Template处创建一个目录Logexs ,并在该目录下创建一个名为index.php的View文件。将以下代码复制到该文件中。

src / Template / Logexs / index.php

Something is written in log file. Check log file logs\debug.log

通过访问以下URL执行以上示例。

http:// localhost / cakephp4 / logex

输出

执行后,您将收到以下输出。

除错

日志将被添加到log / debug.log文件-

日志文件