Logger
Logger
Logger class for handling logging operations with different log levels.
class LoggerThis class provides methods to write log messages with specified log levels, set the logging level, and retrieve the current logging level.
Properties
level
Minimum log severity that will be written.
private LogLevel $level = 'LogLevel'Type: Hazaar\Warlock\Enum\LogLevel
prefix
Prefix label included with each log entry.
private string $prefix = 'WARLOCK'Type: string
writer
Active writer implementation used to emit messages.
private LogWriter $writerType: Hazaar\Warlock\Interface\LogWriter
silent
Allows the logger to be temporarily silent, meaning it will not output any log messages, but
private bool $silentType: bool
the log level will still be respected.
This is useful for scenarios where you want to disable logging without changing the log level.
Methods
__construct
public __construct(LogLevel $level = 'LogLevel::INFO', ?LogWriter $writer): voidParameters
| Parameter | Type | Description |
|---|---|---|
$level | Hazaar\Warlock\Enum\LogLevel | initial minimum logging level |
$writer | Hazaar\Warlock\Interface\LogWriter | optional writer implementation |
getNewChildLogger
Creates a child logger that inherits level/writer settings.
public getNewChildLogger(string $prefix): selfReturns: self
Parameters
| Parameter | Type | Description |
|---|---|---|
$prefix | string |
write
Writes a log message with a specified log level.
public write(string $message, LogLevel $level = 'LogLevel::INFO', ?string $prefix): voidReturns: void
Parameters
| Parameter | Type | Description |
|---|---|---|
$message | string | The message to log. It can be an array, an instance of stdClass, or a string. |
$level | Hazaar\Warlock\Enum\LogLevel | The log level of the message. Defaults to LogLevel::INFO. |
$prefix | string |
setLevel
Sets the logging level for the logger.
public setLevel(?LogLevel $level = 'LogLevel::INFO'): voidReturns: void
Parameters
| Parameter | Type | Description |
|---|---|---|
$level | Hazaar\Warlock\Enum\LogLevel | The logging level to set. Defaults to LogLevel::INFO if not provided. |
getLevel
Get the current logging level.
public getLevel(): LogLevelReturns: Hazaar\Warlock\Enum\LogLevel
setPrefix
Set a prefix for the logger.
public setPrefix(string $prefix): voidReturns: void
Parameters
| Parameter | Type | Description |
|---|---|---|
$prefix | string | the prefix to set |
getPrefix
Get the current prefix of the logger.
public getPrefix(): stringReturns: string
setSilent
Sets the silent mode for the logger.
public setSilent(bool $silent): voidReturns: void
When silent mode is enabled, the logger will suppress output without changing the log level.
Parameters
| Parameter | Type | Description |
|---|---|---|
$silent | bool | whether to enable silent mode |
setWriter
Sets the log writer instance to be used by the logger.
public setWriter(LogWriter $writer): voidReturns: void
Parameters
| Parameter | Type | Description |
|---|---|---|
$writer | Hazaar\Warlock\Interface\LogWriter | the log writer instance to set |
Generated by Hazaar API Doc Generator on Fri, 04 Sep 2026 23:32:17 +0000