public static function getLogger($name = null) { static $objarry = array(); if (isset($objarry[$name])) { return $objarry[$name]; } $obj = new self(); $config = self::$CONFIG[$name] ? array_merge(self::$CONFIG['DEFAULT'], self::$CONFIG[$name]) : self::$CONFIG['DEFAULT']; if ($config) { $config['TYPE'] == 'SYSLOG' ? $obj->TYPE = 'SYSLOG' : ($obj->TYPE = 'FILE'); if ($config['LOG_LEVEL'] && array_key_exists($config['LOG_LEVEL'], self::$LEVEL_LIST)) { $obj->LOG_LEVEL = self::$LEVEL_LIST[$config['LOG_LEVEL']]; } if ($config['DESTINATION']) { $obj->DESTINATION = $config['DESTINATION']; } if (intval($config['LOG_FILE_SIZE'])) { $obj->LOG_FILE_SIZE = intval($config['LOG_FILE_SIZE']); } if (intval($config['MAX_BACKUP_INDEX'])) { $obj->MAX_BACKUP_INDEX = intval($config['MAX_BACKUP_INDEX']); } } if ($name) { $obj->CALLER = $name; } $obj->mk_dir(dirname($obj->DESTINATION)); $objarry[$name] = $obj; return $objarry[$name]; }