yii2 动态配置日志(log)
如果我们在项目中不允许修改配置文件中的 log 组件,那么动态配置 log 就变得很重要了,下面我分享一下动态配置 log 的方法:
默认的日志格式是 {date}{ip}{userID}{sessionID}{level}{category}{text}{trace}
这种方式不会让默认的 app.log 失效。(推荐)
public function init()
{
parent::init();
\Yii::$app->log->targets[] = \Yii::createObject([
'class' => 'yii\log\FileTarget',
'exportInterval' => 1, //立即刷新日志
'levels' => ['info', 'error'], // only display info ,error
'categories' => ['custom'], //log category
'logFile' => Yii::getAlias('@app').DIRECTORY_SEPARATOR.'runtime'.DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'logFileName.log', // filePath
'logVars' => ['_GET', '_POST'], //只记录_GET _POST的值
'maxFileSize' => 1024 * 2, // 日志文件大小
'maxLogFiles' => 10, // 日志个数
]);
}
这种方式,异常不能写入 app.log 。
public function init()
{
parent::init();
Yii::$app->log->targets[0]->levels = ['info', 'error', 'warning']; // only display info ,error and warning
Yii::$app->log->targets[0]->categories = ['categoryName']; // log category
Yii::$app->log->targets[0]->logFile = Yii::getAlias('@app').DIRECTORY_SEPARATOR.'runtime'.DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'logFileName.log'; // filePath
Yii::$app->log->targets[0]->logVars = ['*']; // don't display GET,POST,SERVER,COOKIE,SESSION, if config this,display otherwise.
Yii::$app->log->targets[0]->maxFileSize = 1024 * 2; // maxFileSize=2M
Yii::$app->log->targets[0]->maxLogFiles = 20; // maxLogFiles = 20 ...
}
`
yii2 动态配置日志(log)的更多相关文章
- spring boot中配置日志log和热部署
Java的日志有很多 个人强烈不推荐log4j ,推荐log4j2和logback 在高并发,多线程的环境下log4j1 的性能和log4j2相比可以用junk来形容 对就是junk.log4j2的 ...
- log4j 动态配置,重启项目配置失效问题
公司项目升级之后,成功去掉了log4j.properties配置文件,实现页面动态配置日志级别. 很经典的两个配置,但是最终还是随着时代的进步而被优化,最终弄成了可配置项 但是随之问题就来了,当我启动 ...
- 基于JMX动态配置Log4J日志级别
先来看比较low的修改日志级别的方式,在写程序里面. http://blog.gssxgss.me/java%E8%BF%90%E8%A1%8C%E6%97%B6%E5%8A%A8%E6%80%81% ...
- 动态配置log4j2.xml日志输出文件的位置
目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...
- Spring Boot打包瘦身 Docker 使用全过程 动态配置、日志记录配置
springBoot打包的时候代码和jar包打包在同一个jar包里面,会导致jar包非常庞大,在不能连接内网的时候调试代码,每次只改动了java代码就需要把所有的jar包一起上传,导致传输文件浪费了很 ...
- Spring Boot 系列:日志动态配置详解
世界上最快的捷径,就是脚踏实地,本文已收录架构技术专栏关注这个喜欢分享的地方. 开源项目: 分布式监控(Gitee GVP最有价值开源项目 ):https://gitee.com/sanjianket ...
- 日志log4j配置详情,日志log具体到你想不到
一.Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局). 1.LoggersLoggers组件在此系统中被分为五个级别:DEBU ...
- log4j输出多个自定义日志文件,动态配置路径
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- Nginx 配置日志路径(nginx.conf没有写log路径,所以debug的时候找不到日志)
缘由:nginx.conf没有写log路径,所以debug的时候找不到日志,遂在conf文件里写入了log路径 Setp1.nginx默认日志路径: /var/log/nginx Setp2.conf ...
随机推荐
- Linux桌面环境安装matlab并创建快捷方式
安装matlab sudo mkdir -p /mnt/matlab sudo mount -t auto -o loop /home/chris/Downloads/2016b_linux/R201 ...
- Git基础(三) 跟踪文件
检查当前文件状态 git status 跟踪新文件 git add README 状态简览 git status -s 或 git status --short 忽略文件 创建一个名为.gitigno ...
- JavaScript数组去重的6个方法
方法一无需思考,我们可以得到 O(n^2) 复杂度的解法.定义一个变量数组 res 保存结果,遍历需要去重的数组,如果该元素已经存在在 res 中了,则说明是重复的元素,如果没有,则放入 res 中. ...
- CentOS6 安装gnutls
所有用的的包:https://pan.baidu.com/s/1EQYf3gsK_xT6kCAjrVs2aQ wget http://download.savannah.gnu.org/release ...
- CentOS7安装MySQL并设置远程登录
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1 下载并安装MySQL官方的 Yum Re ...
- 使用Eclipse绑定Tomcat并发布应用
l 步骤1:获得服务器运行环境配置,Window/Preferences/Server/Runtime Environmen l步骤2:添加服务器 l步骤3:选择服务器在硬盘的地址,然后所有的都是确定 ...
- 伪分布式hadoop1.1.2和hbase0.94.11配置
Hadoop 1.1.2 和Hbase 0.94.11版本配置 测试时ip 172.19.32.128 这个版本需要把/etc/hosts的aa-vm改成127.0.0.1,也就是和localhos ...
- Python 类的内置方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # 作者:Presley # 邮箱:1209989516@qq.com # 时间:2018-11-04 # p ...
- HDU2586How far away? LCA
去博客园看该题解 题意 给出一棵树,以及每条边的权值,给出一些询问,每个询问是2个节点,求每个询问对应的2个节点的距离. 算法 LCA_Tarjan 代码 #include <cstring&g ...
- 047 SparkSQL自定义UDF函数
一:程序部分 1.需求 Double数据类型格式化,可以给定小数点位数 2.程序 package com.scala.it import org.apache.spark.{SparkConf, Sp ...