本文整理汇总了PHP中Server::getLogger方法的典型用法代码示例。如果您正苦于以下问题:PHP Server::getLogger方法的具体用法?PHP Server::getLogger怎么用?PHP Server::getLogger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server
的用法示例。
在下文中一共展示了Server::getLogger方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testSetLogger
function testSetLogger()
{
$server = new Server();
$logger = new MockLogger();
$server->setLogger($logger);
$this->assertEquals($logger, $server->getLogger());
}
示例2: console
/**
* Execute commands as console
*
* @param Server $server - pocketmine\Server instance
* @param str[]|str $cmd - commands to execute
* @param bool $show - show commands being executed
*/
public static function console($server, $cmd, $show = false)
{
if (!is_array($cmd)) {
$cmd = [$cmd];
}
foreach ($cmd as $c) {
if ($show) {
$server->getLogger()->info("CMD> {$cmd}");
}
$server->dispatchCommand(new ConsoleCommandSender(), $c);
}
}
示例3: dumpServerMemory
public function dumpServerMemory($outputFolder, $maxNesting, $maxStringSize)
{
gc_disable();
if (!file_exists($outputFolder)) {
mkdir($outputFolder, 0777, true);
}
$this->server->getLogger()->notice("[Dump] After the memory dump is done, the server might crash");
$obData = fopen($outputFolder . "/objects.js", "wb+");
$staticProperties = [];
$data = [];
$objects = [];
$refCounts = [];
$this->continueDump($this->server, $data, $objects, $refCounts, 0, $maxNesting, $maxStringSize);
do {
$continue = false;
foreach ($objects as $hash => $object) {
if (!is_object($object)) {
continue;
}
$continue = true;
$className = get_class($object);
$objects[$hash] = true;
$reflection = new \ReflectionObject($object);
$info = ["information" => "{$hash}@{$className}", "properties" => []];
if ($reflection->getParentClass()) {
$info["parent"] = $reflection->getParentClass()->getName();
}
if (count($reflection->getInterfaceNames()) > 0) {
$info["implements"] = implode(", ", $reflection->getInterfaceNames());
}
foreach ($reflection->getProperties() as $property) {
if ($property->isStatic()) {
continue;
}
if (!$property->isPublic()) {
$property->setAccessible(true);
}
$this->continueDump($property->getValue($object), $info["properties"][$property->getName()], $objects, $refCounts, 0, $maxNesting, $maxStringSize);
}
fwrite($obData, "{$hash}@{$className}: " . json_encode($info, JSON_UNESCAPED_SLASHES) . "\n");
if (!isset($objects["staticProperties"][$className])) {
$staticProperties[$className] = [];
foreach ($reflection->getProperties() as $property) {
if (!$property->isStatic() or $property->getDeclaringClass()->getName() !== $className) {
continue;
}
if (!$property->isPublic()) {
$property->setAccessible(true);
}
$this->continueDump($property->getValue($object), $staticProperties[$className][$property->getName()], $objects, $refCounts, 0, $maxNesting, $maxStringSize);
}
}
}
echo "[Dump] Wrote " . count($objects) . " objects\n";
} while ($continue);
file_put_contents($outputFolder . "/staticProperties.js", json_encode($staticProperties, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
file_put_contents($outputFolder . "/serverEntry.js", json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
file_put_contents($outputFolder . "/referenceCounts.js", json_encode($refCounts, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
echo "[Dump] Finished!\n";
gc_enable();
$this->server->forceShutdown();
}