47 lines
1021 B
PHP
47 lines
1021 B
PHP
<?php
|
|
/**
|
|
* 日志类
|
|
*/
|
|
|
|
namespace server\components;
|
|
|
|
use Monolog\Logger;
|
|
use Monolog\Handler\StreamHandler;
|
|
|
|
class Log {
|
|
|
|
/**
|
|
* 实例对象.
|
|
*
|
|
* @var
|
|
*/
|
|
private static $_instance;
|
|
|
|
private static $_logDir;
|
|
|
|
public static function init(){
|
|
$config = include(__DIR__ . '/../config/main.php');
|
|
self::$_logDir = $config['logDir'];
|
|
}
|
|
|
|
/**
|
|
* 实例化日志类.
|
|
*
|
|
* @return Logger
|
|
*/
|
|
public static function instance($name = '000'){
|
|
$arr = explode('_',$name);
|
|
if(empty(self::$_instance[$arr[0]])){
|
|
self::init();
|
|
self::$_instance[$arr[0]] = new Logger($arr[0]);
|
|
$logDir = self::$_logDir . $arr[0] . '/' . date('Y-m');
|
|
if(!is_dir($logDir)){
|
|
mkdir($logDir, 0777,true);
|
|
}
|
|
self::$_instance[$arr[0]]->pushHandler(new StreamHandler($logDir . '/' . $name . '.log',Logger::DEBUG));
|
|
}
|
|
return self::$_instance[$arr[0]];
|
|
|
|
}
|
|
|
|
}
|