|
| 1 | +# hejunjie/error-log |
| 2 | + |
| 3 | +不同框架通常自带日志系统,但要么强绑定到框架,更换框架就要重构日志方案,要么像 Monolog 这类强大的日志系统功能过于庞大。而为了在不同框架中保持通用性,同时避免过度复杂,我基于责任链模式实现了一个轻量级的日志模块 |
| 4 | + |
| 5 | +## 安装方式 |
| 6 | + |
| 7 | +```bash |
| 8 | +composer require hejunjie/error-log |
| 9 | +``` |
| 10 | + |
| 11 | +## 使用方式 |
| 12 | + |
| 13 | +```php |
| 14 | +<?php |
| 15 | + |
| 16 | +use Hejunjie\ErrorLog\Logger; |
| 17 | +use Hejunjie\ErrorLog\Handlers; |
| 18 | + |
| 19 | +$log = new Logger([ |
| 20 | + new Handlers\ConsoleHandler(), // 打印到控制台 |
| 21 | + new Handlers\FileHandler('日志存储文件夹路径'), // 存储到文件 |
| 22 | + new Handlers\RemoteApiHandler('请求url') // 发送到某个地址 |
| 23 | +]); |
| 24 | + |
| 25 | +$log->info('标题','内容',['上下文']); // INFO 级 |
| 26 | +$log->warning('标题','内容',['上下文']); // WARNING 级 |
| 27 | +$log->error('标题','内容',['上下文']); // ERROR 级 |
| 28 | + |
| 29 | +$log->log('自定义级别','标题','内容',['上下文']); |
| 30 | +``` |
| 31 | + |
| 32 | +## 用途 & 初衷 |
| 33 | + |
| 34 | +这个组件的起因其实很简单: |
| 35 | +代码跑在不同的服务器上,有的安静得像退休老头,有的动不动炸成烟花——但它们都在跑“同一份代码”,每次炸了还都来找我。 |
| 36 | + |
| 37 | +最离谱的是,每个人都说是“最新版”,但到底是代码问题、环境问题、部署问题,谁知道? |
| 38 | +于是我写了这个小东西:让日志可以灵活地 输出到文件、控制台、远程服务器,最好还能自定义格式,让我在被质问之前,先找到锅。 |
| 39 | + |
| 40 | +后来还写了个日志接收小脚本,配合这个组件可以把远程日志直接展示出来,用来接收、展示、筛选、管理日志错误信息: |
| 41 | + |
| 42 | +👉 [oh-shit-logger](https://github.com/zxc7563598/oh-shit-logger) |
| 43 | + |
| 44 | +## 🔧 更多工具包(可独立使用,也可统一安装) |
| 45 | + |
| 46 | +本项目最初是从 [hejunjie/tools](https://github.com/zxc7563598/php-tools) 拆分而来,如果你想一次性安装所有功能组件,也可以使用统一包: |
| 47 | + |
| 48 | +```bash |
| 49 | +composer require hejunjie/tools |
| 50 | +``` |
| 51 | + |
| 52 | +当然你也可以按需选择安装以下功能模块: |
| 53 | + |
| 54 | +[hejunjie/cache](https://github.com/zxc7563598/php-cache) - 多层缓存系统,基于装饰器模式。 |
| 55 | + |
| 56 | +[hejunjie/china-division](https://github.com/zxc7563598/php-china-division) - 中国省市区划分数据包。 |
| 57 | + |
| 58 | +[hejunjie/mobile-locator](https://github.com/zxc7563598/php-mobile-locator) - 国内手机号归属地 & 运营商识别。 |
| 59 | + |
| 60 | +[hejunjie/utils](https://github.com/zxc7563598/php-utils) - 常用工具方法集合。 |
| 61 | + |
| 62 | +👀 所有包都遵循「轻量实用、解放双手」的原则,能单独用,也能组合用,自由度高,欢迎 star 🌟 或提 issue。 |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +该库后续将持续更新,添加更多实用功能。欢迎大家提供建议和反馈,我会根据大家的意见实现新的功能,共同提升开发效率。 |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
0 commit comments