hyperf:日志配置
一,配置日志
在config/autoload/logger.php中增加一项对日志的配置:
'daily' => [
'handler' => [
'class' => Monolog\Handler\RotatingFileHandler::class,
'constructor' => [
'filename' => BASE_PATH . '/runtime/logs/daily.log',
'level' => Monolog\Logger::INFO,
],
],
'formatter' => [
'class' => Monolog\Formatter\LineFormatter::class,
'constructor' => [
'format' => null,
'dateFormat' => null,
'allowInlineLineBreaks' => true,
],
],
],
二,写日志的代码:
<?php
declare(strict_types=1);
namespace App\Controller;
use Hyperf\HttpServer\Contract\RequestInterface;
use Hyperf\HttpServer\Contract\ResponseInterface;
use Psr\Http\Message\ResponseInterface as Psr7ResponseInterface;
use Hyperf\Logger\LoggerFactory;
use Psr\Log\LoggerInterface;
class ImageController
{
protected LoggerInterface $logger;
public function __construct(LoggerFactory $loggerFactory) {
// 第一个参数对应日志的 name, 第二个参数对应 config/autoload/logger.php 内的 key
$this->logger = $loggerFactory->get('log','daily');
}
public function imagedetail(RequestInterface $request, ResponseInterface $response): Psr7ResponseInterface {
//写日志
$this->logger->info("测试写一条日志",$request->all());
$data = [
'key' => 'value'
];
return $response->json($data);
}
三,测试效果:
[2025-01-24T17:22:56.044325+08:00] log.INFO: 测试写一条日志 [] []
[2025-01-24T17:25:34.924767+08:00] log.INFO: 测试写一条日志 {"id":"1"} []
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗