bkstar123/log-enhancer

此扩展增强了Laravel的日志功能

1.0.21 2020-07-05 05:13 UTC

README

1.需求

建议使用PHP版本7.1.3+和Laravel框架版本5.6+来安装此包

2.安装

composer require bkstar123/log-enhancer 

3.使用

默认情况下,该包将使用名为bkstar123_log_enhancer的自定义通道,并将日志消息写入名为laravel-bkstar123_log_enhancer-YYYY-MM-DD.log的文件。默认日志驱动为daily,轮转周期为7天。

您可以通过在.env文件中添加以下环境设置来自定义日志文件的基准名称和轮转周期:

  • BKSTAR123_LOG_ENHANCER_LOG_NAME
  • BKSTAR123_LOG_ENHANCER_DAYS_FOR_ROTATION(天数)

这不是必需的,但您也可以通过在.env文件中使用BKSTAR123_LOG_ENHANCER_CHANNEL设置来更改自定义通道名称

您还可以在不使用浏览器扩展的情况下将自定义日志消息写入浏览器JavaScript控制台。支持大多数支持console API的浏览器

要这样做,只需在.env文件中添加以下环境设置:
BKSTAR123_LOG_ENHANCER_TO_BROWSER_CONSOLE=true

要写入日志消息,调用DebugLog外观的log()方法,如下所示:
DebugLog::log($level = '', string $message = '', array $context = [])

注意DebugLog别名会自动注册,因此您不需要在config/app.php中添加它

其中$level可以是debug|info|notice|warning|error|critical|emergency(默认为debug级别)

示例

DebugLog::log('info', "Hello {n}", ['n' => 'Antony Hoang'])

日志消息增强了以下数据

datetime(带系统时区):日志消息的日期和时间
channel:.env文件中APP_ENV设置的值
level_name:$level的值
message:您的自定义日志消息
pid:当前请求的PHP线程的进程ID
client_ip:客户端浏览器的IP地址
url:请求路径
http_method:当前请求的HTTP动词,例如:GET、POST...
route_hanlder:请求路由处理器的名称,即ControllerName/ActionName
session:与请求关联的会话数据

示例日志消息

[2019-06-08 11:08:43 UTC] [local.INFO]: Hello Antony Hoang
{'pid': '2873', 'client_ip': '192.168.1.35', 'url': '/', 'http_method': 'GET', 'route_handler': 'App\Http\Controllers\TestController@test', 
'session': {"_token":"aSKrQ8xXETX5Mywt3EoLMqTG6SfOA6M4Vc5yGyDC","_previous":{"url":"http://kpacks.acme.com"},"_flash":{"old":[],"new":[]}}}