MainLogger: accept main thread name as a constructor parameter

This commit is contained in:
Dylan K. Taylor 2021-02-04 20:55:50 +00:00
parent 709b4154d7
commit 27b1951df7
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
3 changed files with 7 additions and 4 deletions

View File

@ -237,7 +237,7 @@ namespace pocketmine {
Terminal::init();
}
$logger = new MainLogger($dataPath . "server.log", Terminal::hasFormattingCodes());
$logger = new MainLogger($dataPath . "server.log", Terminal::hasFormattingCodes(), "Server");
\GlobalLogger::set($logger);
emit_performance_warnings($logger);

View File

@ -44,6 +44,8 @@ class MainLogger extends \AttachableThreadedLogger implements \BufferedLogger{
/** @var bool */
private $useFormattingCodes = false;
private string $mainThreadName;
/** @var string */
private $timezone;
@ -53,11 +55,12 @@ class MainLogger extends \AttachableThreadedLogger implements \BufferedLogger{
/**
* @throws \RuntimeException
*/
public function __construct(string $logFile, bool $useFormattingCodes, bool $logDebug = false){
public function __construct(string $logFile, bool $useFormattingCodes, string $mainThreadName, bool $logDebug = false){
parent::__construct();
$this->logDebug = $logDebug;
$this->useFormattingCodes = $useFormattingCodes;
$this->mainThreadName = $mainThreadName;
$this->timezone = Timezone::get();
$this->logWriterThread = new MainLoggerThread($logFile);
@ -223,7 +226,7 @@ class MainLogger extends \AttachableThreadedLogger implements \BufferedLogger{
$thread = \Thread::getCurrentThread();
if($thread === null){
$threadName = "Server thread";
$threadName = $this->mainThreadName . " thread";
}elseif($thread instanceof Thread or $thread instanceof Worker){
$threadName = $thread->getThreadName() . " thread";
}else{

View File

@ -43,7 +43,7 @@ class AsyncPoolTest extends TestCase{
public function setUp() : void{
@define('pocketmine\\COMPOSER_AUTOLOADER_PATH', dirname(__DIR__, 3) . '/vendor/autoload.php');
$this->mainLogger = new MainLogger(tempnam(sys_get_temp_dir(), "pmlog"), false);
$this->mainLogger = new MainLogger(tempnam(sys_get_temp_dir(), "pmlog"), false, "Main");
$this->pool = new AsyncPool(2, 1024, new \BaseClassLoader(), $this->mainLogger, new SleeperHandler());
}