如果我们在项目中不允许修改配置文件中的 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)的更多相关文章

  1. spring boot中配置日志log和热部署

    Java的日志有很多 个人强烈不推荐log4j ,推荐log4j2和logback 在高并发,多线程的环境下log4j1 的性能和log4j2相比可以用junk来形容  对就是junk.log4j2的 ...

  2. log4j 动态配置,重启项目配置失效问题

    公司项目升级之后,成功去掉了log4j.properties配置文件,实现页面动态配置日志级别. 很经典的两个配置,但是最终还是随着时代的进步而被优化,最终弄成了可配置项 但是随之问题就来了,当我启动 ...

  3. 基于JMX动态配置Log4J日志级别

    先来看比较low的修改日志级别的方式,在写程序里面. http://blog.gssxgss.me/java%E8%BF%90%E8%A1%8C%E6%97%B6%E5%8A%A8%E6%80%81% ...

  4. 动态配置log4j2.xml日志输出文件的位置

    目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...

  5. Spring Boot打包瘦身 Docker 使用全过程 动态配置、日志记录配置

    springBoot打包的时候代码和jar包打包在同一个jar包里面,会导致jar包非常庞大,在不能连接内网的时候调试代码,每次只改动了java代码就需要把所有的jar包一起上传,导致传输文件浪费了很 ...

  6. Spring Boot 系列:日志动态配置详解

    世界上最快的捷径,就是脚踏实地,本文已收录架构技术专栏关注这个喜欢分享的地方. 开源项目: 分布式监控(Gitee GVP最有价值开源项目 ):https://gitee.com/sanjianket ...

  7. 日志log4j配置详情,日志log具体到你想不到

    一.Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局). 1.LoggersLoggers组件在此系统中被分为五个级别:DEBU ...

  8. log4j输出多个自定义日志文件,动态配置路径

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  9. Nginx 配置日志路径(nginx.conf没有写log路径,所以debug的时候找不到日志)

    缘由:nginx.conf没有写log路径,所以debug的时候找不到日志,遂在conf文件里写入了log路径 Setp1.nginx默认日志路径: /var/log/nginx Setp2.conf ...

随机推荐

  1. fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

    fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...

  2. 【C++ Primer | 10】泛型算法

    #include<iostream> #include<algorithm> #include<vector> #include<string> #in ...

  3. ASP.NET Core Cookie-based认证实现

    using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace HelloCore2.Contr ...

  4. mysql把查询结果集插入到表理

    把表B的内容插入到表A INSERT INTO 1111_0 SELECT*FROM report_0 把查询结果集插入到表中 insert into A(a,b,c) select from B(a ...

  5. javascript 和 下拉列表

    <form id="f"> <select size="1" name="s"> <option value= ...

  6. vsftp虚拟主机实战

    文件传输协议,基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件.FTP基于TVP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输, ...

  7. html ie

    <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content=" ...

  8. BZOJ1095 [ZJOI2007]Hide 捉迷藏 动态点分治 堆

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ1095.html 题目传送门 - BZOJ1095 题意 有 N 个点,每一个点是黑色或者白色,一开始所 ...

  9. BZOJ2724 [Violet 6]蒲公英 分块

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2724.html 题目传送门 - BZOJ2724 题意 求区间最小众数,强制在线. $n$ 个数,$m ...

  10. P1052 过河 线性dp 路径压缩

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...