Added Logger interface, threaded MainLogger and updated PluginLogger

This commit is contained in:
Shoghi Cervantes
2014-05-28 23:46:56 +02:00
parent 9df56295f6
commit 7bd6f2ed91
22 changed files with 624 additions and 178 deletions

View File

@ -21,7 +21,14 @@
namespace pocketmine\plugin;
class PluginLogger{
use pocketmine\level\Level;
use pocketmine\Server;
use pocketmine\utils\Logger;
use pocketmine\utils\LogLevel;
use pocketmine\utils\MainLogger;
use pocketmine\utils\TextFormat;
class PluginLogger implements Logger{
private $pluginName;
@ -33,12 +40,39 @@ class PluginLogger{
$this->pluginName = $prefix != null ? "[$prefix] " : "[" . $context->getDescription()->getName() . "] ";
}
/**
* Logs a message to the console
*
* @param string $message
*/
public function log($message){
console($this->pluginName . $message);
public function emergency($message){
$this->log(LogLevel::EMERGENCY, $message);
}
public function alert($message){
$this->log(LogLevel::ALERT, $message);
}
public function critical($message){
$this->log(LogLevel::CRITICAL, $message);
}
public function error($message){
$this->log(LogLevel::ERROR, $message);
}
public function warning($message){
$this->log(LogLevel::WARNING, $message);
}
public function notice($message){
$this->log(LogLevel::NOTICE, $message);
}
public function info($message){
$this->log(LogLevel::INFO, $message);
}
public function debug($message){
$this->log(LogLevel::DEBUG, $message);
}
public function log($level, $message){
MainLogger::getLogger()->log($level, $this->pluginName . $message);
}
}