Yii2框架(五)日志的相关配置及使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Yii2.0框架的日志操作如下,大概有五种方式:Yii::getLogger()->log($message, $level, $category = 'application')Yii::trace($message, $category = 'application');Yii::error($message, $category = 'application');Yii::warning($message, $category = 'application');Yii::info($message, $category = 'application');

QQ图片20220425212012.jpg

框架的运行日志(runtime)在开发过程中是很有用的,但是吧,这玩意我一般不太愿意用,主要是和直接在浏览器var_dump中输出,日志是将运行结果写到文件中去了,还要去看文件中的内容,比较麻烦。


但是,在没有办法在浏览器中输出,或者需要在运行过程中输出,但是又不想打断她的运行的时候,日志是一个非常好的选择。


Yii2.0框架的日志操作如下:


大概有五种方式:


Yii::getLogger()->log($message, $level, $category = 'application')
Yii::trace($message, $category = 'application');
Yii::error($message, $category = 'application');
Yii::warning($message, $category = 'application');
Yii::info($message, $category = 'application');


首先修改以下配置文件


Config目录下的main.php


原来的日志配置是这个样子的:


'log'=> [
      'traceLevel' => YII_DEBUG ? 3 : 0,
      'targets' => [
        [
          'class' => 'yii\log\FileTarget',
          'levels' => ['error', 'warning'],
        ],
      ],
    ],


修改成:


'log' => [
    'traceLevel'=> YII_DEBUG ? 3 : 0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            'levels' => ['error', 'warning','info','trace'],
        ],
        // 配置info信息输入
        [
            // 使用日志类
            'class'=> 'yii\log\FileTarget',
            // 配置日志等级
            'levels' => ['info'],
            //'categories' => ['rhythmk'],
            // 日志存放目录
            'logFile' => '@app/runtime/logs/requests.log',
            // 最大文件大小
            'maxFileSize' => 1024 * 2,
            'maxLogFiles' => 20,
        ],
        // 配置调试信息输出
        [
            // 使用日志类
            'class'=> 'yii\log\FileTarget',
            // 配置日志等级
            'levels' => ['trace'],
            //'categories' => ['rhythmk'],
            // 日志存放目录
            'logFile' => '@app/runtime/logs/trace.log',
            // 最大文件大小
            'maxFileSize' => 1024 * 2,
            'maxLogFiles' => 20,
        ],
    ],
],


输出日志:


Yii::getLogger()->log("开始写自定义日志",Logger::LEVEL_ERROR);
Yii::trace("trace,开发调试时候记录");
Yii::error("error,错误日志");
Yii::warning("warning,警告信息");
Yii::info("info,记录操作提示");
复制代码


一般我这里用的就是info输出,看值。


Yii::info(‘值’.’键’);



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
23天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
26天前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
104 1
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
2月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
35 6
|
2月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
2月前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
39 0
|
2月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
2月前
|
人工智能
【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中
【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中
下一篇
无影云桌面