ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 1.概述 ~~~ 1.为PHP开发的日志记录组件,符号PSR-3规范的一个日志类库 2.可以将日志发送到file,socket,email,数据库和各种web服务 ~~~ ## 2.安装 ~~~ 1.composer require monolog/monolog ~~~ ## 3.核心概念 ### 1.handler日志管理器 ~~~ 1.每个Logger实例都有一个通道(name)和多个日志处理器栈(handler),可以通过Logger实例的pushHandler方法压入一个handler.每当有记录添加到Logger时,将会从栈顶开始往下传播,关心这个级别日志的handler将会处理这条日志 2.所有的handler都会继承AbstractProcessingHandler这个抽象类,并且只需要实现里面的抽象方法write(写日志) 3.所有的handler还都会继承AbstartHandler这个抽象类,构造函数中有两个参数:level和bubble,level表明handler关心的最低日志级别,bubble表示日志别当前handler处理后是否接着向下传递 ~~~ ### 2.formatter设置日志格式 ~~~ 1.每个handler可以单独设置记录的日志格式,如果不设置默认格式,则会创建一个默认格式 2.格式化程序对传入记录进行规化和格式化,以便处理程序来输出有用的信息 ~~~ ## 4.日志级别 ~~~ 1.DEBUG:详细的调试信息 2.INFO:事件信息,如用户登录,SQL日志 3.NOTICE:正常但重要的信息 4.WARNING:不是错误的异常信息 5.ERROR:运行时错误,不需要立即采取错误 6.CRITICAL:临界条件 7.ALTER:必须立即采取的错误 8.EMERGENCY:紧急情况,系统无法使用 ~~~ ## 5.在日志中记录额外的数据 ~~~ 1.使用日志记录上下文:允许在日志记录中使用数组来传递数据 2.使用processor处理器记录:通过pushProcessor方法给一个Logger实例配置processor,并在记录中添加额外的信息 ~~~