sFire PHP Framework

Logging

\sFire\Logger\Logger enables you to write data to files with options for rotating logs. Just set the directory and start writing data.

In this section we will handle:

  • Writing data to log file
  • Add extension
  • Add log file name suffix
  • Log rotating

Writing data to log file

\sFire\Logger\Logger enables you to write data to files while preserving a format.

$logger = new Logger();
$logger -> setDirectory('/var/www/logs/'); //Set the directory for writing
$logger -> write('test data'); //Write data to log file

Add extension

If you want your log files to have an extension, you can call the setExtionsion method. This method will accept a String extension with or without the dot.

$logger = new Logger();
$logger -> setExtension('.txt'); //Set the extension to .txt
$logger -> setExtension('txt'); //Sets the extension also to .txt

Log rotating

To prevent large growing log files, you can enable log rotating. For example, rotate the log so it creates every hour a different log file within a given directory. sFire Logger will rotate log files dayly by default.

$logger = new Logger();
$logger -> setMode(Logger :: HOUR); //Set the log rotation mode to an hour
Available rotation modes:
Option Value
HOUR Y-m-d H
DAY Y-m-d
WEEK Y-W
MONTH Y-m
YEAR Y

Add log file name suffix

The default name of the log files, are the log rotation modes. For example, if you choose to log rotate dayly, your log files will be named:

2019-11-23
2019-11-24
2019-11-25

You can suffix the log files by calling the "setSuffix" method.

$logger = new Logger();
$logger -> setMode(Logger :: DAY);
$logger -> setSuffix('-mail');

Now the log files will be named:

2019-11-23-mail
2019-11-24-mail
2019-11-25-mail
Extension

To add an extension, you can call the setExtionsion method:

$logger = new Logger();
$logger -> setMode(Logger :: DAY);
$logger -> setSuffix('-mail');
$logger -> setExtension('txt');

Now the log files will be named:

2019-11-23-mail.txt
2019-11-24-mail.txt
2019-11-25-mail.txt