-
修复 机器人自定义 Token 无效
sendText
方法传入的 Token 没有继续传给后方 😅。 -
修复 缓存键可能冲突
报错次数缓存键没有考虑到多应用同时报错,理论上会造成次数叠加。
-
改善 获取应用名称
将获取应用名称的步骤独立为一个方法。
-
改善 应用名的获取
应用名用于构造索引,在之前的版本中,取的是
APP_NAME
环境变量,在特定情况下,可能会出现多个项目拥有相同的应用名,导致日志全部打到同个地方。这个版本中改为优先读取CI_PROJECT_NAMESPACE
(组名)和CI_APP_NAME
(项目名)的组合值。
🎉 开个新版本吧。
-
新增 可自主选择开关自动辨别本地环境
在之前的版本中,本扩展包会自动判断环境,如果是
local
,会强制更改logging
中的default
(相当于LOG_CHANNEL
)为local
。这个版本中,可以通过配置来关闭这个特性。 -
改善 SQL 记录
修改了记录 SQL 的方法。
-
改善 部分重构
Blade 和 Reporter 进行了重构。Reporter 不再是静态类,而是在 Blade 中进行实例化,减少对外的可见性;sendDingTalk 可以传指定 Token,同时新增便于发送文本的 sendTextDingTalk;修复了老版本中传指定 Token 时出现机器人串频道的问题。
-
修复 兼容 nordsoftware/lumen-newrelic
对方扩展包的
ChainedExceptionHandler
没有shouldReport
方法,导致本扩展包报错。
-
修复 配置的加载
在上次的改善中,其实埋藏了 Bug,如果 config 目录下没有自定义配置,那么扩展包自己的配置文件会被覆盖掉。
-
改善 更新配置至最新版
跟进 Lumen 最新版的
logging.php
。
-
改善 配置的加载
原来的写法中,会额外多加载一次配置文件,这是可以避免的。为了保证稳定性,防止自定义配置中出现字段缺失的问题,修正后的包会加载两次配置,分别为默认配置和自定义配置,后者覆盖前者。
-
修复 钉钉报警失败时不做抛异常
发送频率过高会禁止发送,各种报错,直接不处理,只写日志。
-
改善 重构
env
字段删除多余的
env
字段,并重构全局env
字段的取值方法。
-
改善 在全局字段增加
env
之前的版本中,只有在抛出异常时,记录的日志中才会有
env
字段,如果直接使用Log::info()
等方法是没有该字段的。
-
修复 JWT 解码异常覆盖了原异常
因为变量名相同,在 JWT 解码发生错误时,它抛出的异常取代了原有的异常,使得日志记录错误。
-
改善 发送报警信息前判断 Access Token
因为
DingTalkReporter::send
不是私有函数,如果直接调用,会出现 Token 不存在的情况。 -
改善 默认应用名
名字中不带连接符了。
-
改善 Token 来源顺序
将 URL 中的
token
调至最高优先级。 -
修复 用户信息为空
用户手动传入用户信息闭包时,得到的结果可能为空,应该要用
isset
判断。
-
新增 JWT 解码
日志中记录了解码后的 Token,不用自己去查了。
-
修复 报警机器人超时
超时后对 catch 住的异常处理错误。
-
修复 按天生成日志
虽然设置了天数,但实际上没有按天数生成 😂。
-
新增 Kibana 域名配置
域名不写死了。
-
新增 自动判断环境以输出到不同的日志文件
默认状态下本地开发不用手动设置
LOG_CHANNEL=local
了,省一个操作。 -
新增 本地生成 JSON 格式的日志时追加错误详情
因为奇怪的原因,如果想在本地生成 JSON 格式的日志时,会发现它只有消息标题没有详情,带来不便。
-
改善 代码微格式化以及更新文档和更新日志
🎉 这篇更新日志诞生啦。
似乎发生了什么奇怪的东西(操作),特地补充了两个空格,然后发了这个版本用来占位。
-
修复 配置文件不生效
logging.php
配置文件在框架中默认就是存在的,使用mergeConfigFrom
时,会把扩展包自己的配置文件覆盖掉。
-
修复 伪装应用环境不生效
删了一小块代码却忘记补回去,🌚。
-
修复 Lumen 配置读取
Lumen 默认不存在
config/app.php
配置文件,导致读取环境失败。
-
新增 支持 stage 环境
预发布环境的
APP_ENV
和生产环境一样,改成优先读取APP_REAL_ENV
。 -
新增 支持伪装应用环境
以前开发时如果要变更环境,需要修改
.env
,但又可能影响到项目本身,所以新增此功能,所伪装的环境仅本扩展包有效。
-
新增 report 方法可以通过第二个参数传入当前用户的信息
第一版是通过
Auth::user()
获取用户,但不是每个项目都这样实现,所以新增此特性。
🎉 锦衣卫诞生。