PHP Luminova: Logger Preference and Configurations
Application logger configuration provides flexibility and customization methods to override the default nova-logger module with your preferred PSR-compliant logger interface.
The Logger configuration class allows you to specify a preferred PSR-compliant logger interface for application logging, replacing the default NovaLogger.
It also enables asynchronous logging using PHP Fiber, allowing log messages to be processed in the background without blocking the UI thread.
- Class namespace:
\App\Config\Logger - File path:
/app/Config/Logger.php - This class is marked as final and can't be subclassed
Properties
asyncLogging
Enables asynchronous logging using Fibers to log messages in a background thread without blocking the UI.
public static bool $asyncLogging = false;Note: This feature is only supported for
\Luminova\Logger\NovaLogger.
maxSize
Specify the maximum size (in bytes) for each log level (e.g., 10485760 for 10 MB).When this limit is reached, a backup of the log file is created if logger.create.backup or $autoBackup is set to true; otherwise, the logs are cleared.
public static int $maxSize = 0;autoBackup
Indicate whether a backup of log file should be created when the logger.max.size or $maxSize limit is reached.Set to 'true' to automatically create a backup and empty the current log file, 'false' to empty the log file only.
public static bool $autoBackup = false;Methods
getLogger
Returns an instance of the preferred logger for application logging.
public getLogger(): ?\Psr\Log\LoggerInterfaceReturn Value:
\Psr\Log\LoggerInterface|null - Return the preferred logger instance, or null to use the default logger.
Note: The logger class must implement
\Psr\Log\LoggerInterface.
getEmailLogTemplate
Customize and Generate an HTML Email Template for Logging Notifications.
This method allows you to define a custom email template for logging system notifications. If the method returns null or an empty string, the default email template will be used.
public static getEmailLogTemplate(
Luminova\Interface\HttpRequestInterface $request,
Psr\Log\AbstractLogger $logger,
string $message,
string $level,
array $context
): ?stringParameters:
| Parameter | Type | Description |
|---|---|---|
$request | HttpRequestInterface | The HTTP request object containing information about the request. |
$logger | AbstractLogger | The logger instance handling the log entry. |
$message | string | The log message. |
$level | string | The log level (e.g., 'info', 'warning', 'error'). |
$context | array | Additional context information for the log message. |
Return Value:
string|null - Return a custom HTML email template or null/empty string to use the default template.