Monolog的代码结构如下:

QQ20160225-0

我们的测试入口文件,test.php。

我们分析下Monolog注册表。代码如下:

我们从函数级别看这个类:

QQ20160225-1

这里先普及下,__callStatic函数:

用静态方式中调用一个不可访问方法时,__callStatic() 会被调用。

在普及另一个__call函数:

在对象中调用一个不可访问方法时,__call() 会被调用。

Allows to get Logger instances in the global scope  via static method calls on this class. 这句话的含义是允许Logger实例在全局内通过静态方法调用这个类。

代码使用范例:

这种方式两个好处保证实例唯一、资源高效利用。