语法 |
write( 整数|字符串 $level, 混合 $message, 字符串|数组 $context [] ) |
参数 |
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 CakeLogLog::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. |
正在写入的消息的严重级别。该值必须是与已知级别匹配的整数或字符串。
要记录的消息内容。
用于记录消息的附加数据。可以传递特殊范围键以用于进一步过滤要使用的日志引擎。如果传递字符串或数字索引数组,它将被视为范围键。有关日志记录范围的更多信息,请参阅 CakeLogLog::config()。
|
返回 |
布尔值 |
描述 |
将给定的消息和类型写入所有配置的日志适配器。配置的适配器会传递 $level 和 $message 变量。 $level 是以下字符串/值之一。 |
表>
第二种是使用 log() 快捷方式
函数,任何使用 LogTrait 的函数都可用,调用 log() 将在内部调用 Log::write()
−
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->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();
});
示例
在 config/routes.php 文件中进行更改,如以下程序所示。
config/routes.php
<?php namespace App\Controller;
use App\Controller\AppController;
use Cake\Log\Log;
class LogexsController extends AppController{
public function index(){
/*The first way to write to log file.*/
Log::write('debug',"Something didn't work.");
/*The second way to write to log file.*/
$this->log("Something didn't work.",'debug');
}
}
?>
在 src/Controller/LogexsController.php 创建 LogexsController.php 文件。 将以下代码复制到控制器文件中。
src/Controller/LogexsController.php
在
Something is written in log file. Check log file logs\debug.log
src/Template 处创建一个目录
Logexs 并在该目录下创建一个名为 index.php 的
View 文件。将以下代码复制到该文件中。
src/Template/Logexs/index.php
通过访问以下 URL 来执行上述示例。
http://localhost/cakephp4/logex
输出
执行后,您将收到以下输出。
日志将添加到 log/debug.log 文件中 -