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日志并进行多维度分析。
目录
相关文章
|
9天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
108 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
209 3
|
19天前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
73 1
|
1月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
37 1
|
1月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
118 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
44 2
|
1月前
|
SQL XML 监控
SpringBoot框架日志详解
本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
|
2月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1619 14