📅  最后修改于: 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文件-