整了个 Laravel 的多频道日志 ChannelLog 组件 | Laravel China 社区


本站和网页 https://learnku.com/articles/4433/laravel-multi-channel-log-channellog-component 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

整了个 Laravel 的多频道日志 ChannelLog 组件 | Laravel China 社区
Laravel
话题列表
社区 Wiki
优质外文
招聘求职
Laravel 实战教程
社区文档
登录
注册
Laravel
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Laravel 实战教程首页
《L01 Laravel 教程 - Web 开发实战入门》
《L02 Laravel 教程 - Web 开发实战进阶》
《L03 Laravel 教程 - 实战构架 API 服务器》
《L04 Laravel 教程 - 微信小程序从零到发布》
《L05 Laravel 教程 - 电商实战》
《L06 Laravel 教程 - 电商进阶》
《LX1 Laravel / PHP 扩展包视频教程》
《LX2 PHP 扩展包实战教程 - 从入门到发布》
《L07 Laravel 教程 - Laravel TDD 测试实战》
《LX3 Laravel 性能优化入门》
《LX4 Laravel / PHP 五分钟视频》
文档
社区文档首页
《Laravel 中文文档》
《Laravel 速查表》
《PHP 代码简洁之道》
《Laravel 编码技巧》
《Dcat Admin 中文文档》
《Laravel Nova 中文文档》
《Lumen 中文文档》
《Dingo API 中文文档》
《 Laravel 项目开发规范》
《构建 Laravel 开发环境》
登录
注册
微信登录
整了个 Laravel 的多频道日志 ChannelLog 组件
11
nickfan 的个人博客
4720
创建于 5年前
日常开发经常在许多子模块中需要调试、记录一些具体业务的日志信息,又不想放入整个项目的日志流水中去。总是用Storage的disk方法感觉还是不够优雅,file_put_contents加FILE_APPEND,每次定制格式都巨麻烦。
网上搜索了一下找了一圈有一个还比较凑合的方案,改吧改吧就整了这个组件:
https://github.com/nickfan/ChannelLog
ChannelLog
简介
支持多通道(多实例)配置的Laravel 日志组件(基于Monolog)
此项目基于 StackOverflow上的一条自定义日志的问答
安装
composer 安装组件
composer require "nickfan/channel-log:dev-master"
修改config/app.php配置:
providers 组中增加:
Nickfan\ChannelLog\ChannelLogServiceProvider::class,
aliases 组中增加:
'ChannelLog' => Nickfan\ChannelLog\Facades\ChannelLog::class,
配置文件发布
php artisan vendor:publish --provider="Nickfan\ChannelLog\ChannelLogServiceProvider"
配置
return [
'default' => [ // 频道标识key
'path' => 'logs/default.log', // 日志文件路径 相对路径会存储在storage_path中
'level' => \Monolog\Logger::DEBUG // 日志等级
],
// 'event' => [
// 'path' => 'logs/event.log',
// 'level' => \Monolog\Logger::INFO
// ],
];
自定义配置器
单频道配置信息中可以根据configurator设定自定义的Logger配置器,
配置器必须实现 Nickfan\ChannelLog\ChannelLogConfigurator 接口
具体可以参考 Nickfan\ChannelLog\ChannelLogDefaultConfigurator 的默认配置器
例如:
return [
'myconsole' => [ // 频道标识key
'path' => 'logs/default.log', // 日志文件路径 相对路径会存储在storage_path中
'level' => \Monolog\Logger::DEBUG // 日志等级
// 设定配置器使用的类名
'configurator' => \App\Support\ChannelLogMyConsoleConfigurator::class
],
];
用法
// 往 default 频道写入一条info级别的日志
ChannelLog::channel('default')->info('my test message {mykey1}',['mykey1'=>'myval1','aaa'=>'abc']);
// 往 event 频道写入一条error级别的日志
ChannelLog::channel('event')->error('my event message {mykey2}',['mykey2'=>'myval2','qqq'=>'qwe']);
其他可以参考Laravel自带的日志的用法或者MonoLog官方
本作品采用《CC 协议》,转载必须注明作者和本文链接
github:nickfan
举报
nickfan
86 声望
SA @ thebizark.com
乐天知命,随遇而安~
11 人点赞
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
推荐文章:
更多推荐...
分享创造
如何找到你的第一份远程工作与海外外包-远程工作篇(放了个TS全栈教学的广告,不喜欢立删...)
33
21
1个月前
翻译
如何在 Laravel 中创建一个简单的事件流?
19
12
3个月前
博客
我是如何把网站图片cdn流量成本压到全网最低(之一)的
32
28
3个月前
博客
🎈 Slow Admin - 使用Laravel和Amis快速构建你的后台
25
35
3个月前
博客
用Go实现支持多种协议的抓包工具——Shermie-Proxy
22
33
5个月前
分享创造
大佬的收藏夹
75
21
5个月前
讨论数量: 1
排序:
时间
投票
nickfan
86 声望
SA @ thebizark.com
另外其实也参考过其他的组件
比如官方的 theorchard/monolog-cascade 相较而言,monolog-cascade功能强大但配置对于一般日常的小模块开发而言有点冗余。
所以就写一个比较山寨的配置器的思路,如果需要可以自己在配置器流程和配置文件中自行扩展。
5年前
评论
评论
举报
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
<a href="javascript:;" class="mr-2 ui popover text-mute" data-html="黏贴或拖拽图片至输入框内皆可上传图片">
<a href="javascript:;" class="mr-2 ui popover text-mute hide-on-mobile" data-html="支持除了 H1~H6 以外的GitHub 兼容 Markdown">
支持 MD
帮助
关注本文
评论
nickfan
SA @ thebizark.com
文章
粉丝
10
喜欢
57
收藏
15
排名:195
访问:4.7 万
关注
私信
所有博文
阅读模式
文章归档
1 篇
2018 年 1 月
1 篇
2017 年 4 月
1 篇
2016 年 12 月
最新文章
最受欢迎
4年前
阿熊的 Caddy+Hugo+Acme.sh 配置填坑笔记
5年前
整了个 Laravel 的多频道日志 ChannelLog 组件
6年前
把 LaraDock 的 v2 版本修改了一下,换成国内镜像
40
把 LaraDock 的 v2 版本修改了一下,换成国内镜像
11
整了个 Laravel 的多频道日志 ChannelLog 组件
阿熊的 Caddy+Hugo+Acme.sh 配置填坑笔记
社区赞助商
成为赞助商
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消