Logging: improve formatting to enable fail2ban parsing

Fixes #436

Modifications:
- remove calls to strval() on safe data
- update the date format: 'Y/m/d_H:i:s' => 'Y/m/d H:i:s'

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
This commit is contained in:
VirtualTam 2016-01-16 16:16:56 +01:00
parent 73151d9546
commit 478ce8afb4
2 changed files with 8 additions and 3 deletions

View file

@ -6,14 +6,19 @@
/** /**
* Logs a message to a text file * Logs a message to a text file
* *
* The log format is compatible with fail2ban.
*
* @param string $logFile where to write the logs * @param string $logFile where to write the logs
* @param string $clientIp the client's remote IPv4/IPv6 address * @param string $clientIp the client's remote IPv4/IPv6 address
* @param string $message the message to log * @param string $message the message to log
*/ */
function logm($logFile, $clientIp, $message) function logm($logFile, $clientIp, $message)
{ {
$line = strval(date('Y/m/d_H:i:s')).' - '.$clientIp.' - '.strval($message).'\n'; file_put_contents(
file_put_contents($logFile, $line, FILE_APPEND); $logFile,
date('Y/m/d H:i:s').' - '.$clientIp.' - '.strval($message).'\n',
FILE_APPEND
);
} }
/** /**

View file

@ -22,7 +22,7 @@ class UtilsTest extends PHPUnit_Framework_TestCase
protected static $testLogFile = 'tests.log'; protected static $testLogFile = 'tests.log';
// Expected log date format // Expected log date format
protected static $dateFormat = 'Y/m/d_H:i:s'; protected static $dateFormat = 'Y/m/d H:i:s';
/** /**