如果 asf.dispatcher.log.err = 1, 框架会自动注册了 set_error_handler, set_exception_handler
默认在 asf.log_path 目录下生成文本文件 Asf_Error_Log, 分级别记录日志信息
开发者可以分析日志记录的异常信息, 做预警, 这些都变得很简单
不建议覆盖注册
Y-m-d H:i:s e | 日志级别 | 进程ID | 日志内容
2018-12-18 11:17:13 Asia/Shanghai | ERROR | 3718 | Fatal Error: Class 'Work' not found in /path/user.php on line 99 2018-12-18 11:17:13 Asia/Shanghai | ERROR | 3718 | Notice: Undefined index: xxx in /path/index.php on line 346
如果 asf.dispatcher.log.sql = 1, 框架自动记录DB操作的(CURD)SQL语句
默认在 asf.log_path 目录下生成文本文件 Asf_SQL_Log
Y-m-d H:i:s e | 日志级别 | 进程ID | SQL执行时间(单位: 秒) | SQL | BIND_VALUE
2018-12-18 11:17:05 Asia/Shanghai | INFO | 3717 | 0.00190 | SELECT count(*) cnt FROM `table` WHERE `status` = ? | a:1:{i:0;i:0;} 2018-12-18 11:17:05 Asia/Shanghai | INFO | 3717 | 0.00190 | SELECT * FROM `cat` WHERE `id` IN (?) | a:1:{i:0;s:3:"409";}
如果 asf.dispatcher.log.timeout = 1, 框架自动记录耗时操作的所有条件 详细说明
默认在 asf.log_path 目录下生成文本文件 Asf_Timeout_Log
Y-m-d H:i:s e | 日志级别 | 进程ID | 耗时操作的具体信息
2019-02-25 09:06:48 UTC | INFO | 26026 | 127.0.0.1:6379 Redis::set(110) executing too slow 0.201406 sec 2019-02-25 09:06:48 UTC | INFO | 26026 | 127.0.0.1:6379 Redis::get(111) executing too slow 0.201349 sec 2019-02-25 09:06:48 UTC | INFO | 26026 | /index/redis executing too slow 1.008510 sec
999 这是一个有意义的错误号, 暂不支持自定义
如果开启配置项 asf.dispatcher.log.err = 1, 框架会拦截异常信息, 很好的保护服务端隐私, 而且又聪明地告知了开发人员
1. 当程序执行中出现异常时, 如果 asf.ctype_id = 5 (默认值), 返回结果如下:
<?php { "errno": 999, "data": "" }
2. 当程序执行中出现异常时, 如果 asf.ctype_id = 1, 返回结果如下:
<?php { "errno": 999, "errmsg": "", "data": "" }
以下设置不会影响程序异常日志的记录, 异常情况的拦截
<?php ini_set('display_errors', 0); error_reporting(0);