kefu/server/components/Log.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]];
}
}