为了更方便使用 WooCommerce 的调试日志功能,我们可以在自己的支付类里添加一个静态方法 .. 先在支付方法里添加一个新的字段 .. 打开插件里的 inclues 目录下面的 settigns-alipay.php .. 在这里添加一个新的配置选项字段 .. 名字是 debug . 它是一个 checkbox 类型的字段 .. 默认的值是 no ..
回到这个支付方法管理界面 .. 勾选一下 调试 .. 这个就是刚才我们添加的一个配置选项字段 .. 再保存一下更改 ..
回到支付方法类 .. 在类里面可以先添加两个静态属性 .. public static .. $log_enabled .. 用它判断是否启用了调试功能 .. 再添加一个静态属性 .. $log .. 用它可以存储 WooCommerce 的 logger 实例 ..
然后在类的构造方法里面 .. 设置一下 this .. debug 它的值判断一下,看看 yes 是不是等于 .. debug 配置选项字段里的值 .. 如果是 debug 的值就会是 true,如果不是,它的值就会是 false ..
下面再设置一下 log_enabled 这个静态属性的值 .. 它的值应该是 this .. debug 的值 ..
在这个类里面,再添加一个静态方法 .. public static function .. 名字是 log .. 方法两个参数 .. $message 还有 $level ,这个 level 默认让它等于 info .. 就是输出 info 类型的日志 ..
方法里面,可以判断一下 .. 如果 self::$log_enabled ... 如果启用了调试 .. 它的里面再去做一下判断.. 检查一下 .. self::$log 是不是空白的 .. 如果是,可以设置一下它的值 .. 让它等于 wc_get_logger .. 这个函数会返回 logger 实例 ..
然后执行一下 self ..$log 上的 log 方法 .. 日志的级别是 $level .. 接着是要输出的具体信息 .. $message .. 这里可以再设置一下 context ... 把日志的来源设置成 alipay ...
现在我们就可以使用这个支付类上的 log 这个静态方法记录调试日志了 .. 用一下 WC_Gateway_Alipay 上的 log 这个静态方法 .. 输出 hello alipay ..
回到管理后台 .. 刷新一下这个支付方法的管理界面 .. 再去查看一下商店里的日志 .. 这里你会发现一条 hello alipay 的日志 .. 这条日志是我们用 WC_Gateway_Alipay 这个类的 log 静态方法记录的 ..