<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
*/
class WorkerLogger implements LoggerInterface
{
+ /** @var int Length of the unique worker id */
+ const WORKER_ID_LENGTH = 7;
+
/**
* @var LoggerInterface The original Logger instance
*/
/**
* @param LoggerInterface $logger The logger for worker entries
- * @param string $functionName The current function name of the worker
- * @param int $idLength The length of the generated worker ID
*
* @throws LoggerException
*/
- public function __construct(LoggerInterface $logger, string $functionName = '', int $idLength = 7)
+ public function __construct(LoggerInterface $logger)
{
- $this->logger = $logger;
- $this->functionName = $functionName;
+ $this->logger = $logger;
try {
- $this->workerId = Strings::getRandomHex($idLength);
+ $this->workerId = Strings::getRandomHex(self::WORKER_ID_LENGTH);
} catch (\Exception $exception) {
throw new LoggerException('Cannot generate random Hex.', $exception);
}
* Sets the function name for additional logging
*
* @param string $functionName
+ *
+ * @throws LoggerException
*/
public function setFunctionName(string $functionName)
{
$this->functionName = $functionName;
+ try {
+ $this->workerId = Strings::getRandomHex(self::WORKER_ID_LENGTH);
+ } catch (\Exception $exception) {
+ throw new LoggerException('Cannot generate random Hex.', $exception);
+ }
}
/**