* Generate a hash for the logfile.
* CRM-13640.
*/
- protected static function generateLogFileHash($config) {
+ public static function generateLogFileHash($config) {
// Use multiple (but stable) inputs for hash information. TMI?
$md5inputs = array(
defined('CIVICRM_SITE_KEY') ? CIVICRM_SITE_KEY : 'NO_SITE_KEY',
}
}
+ /**
+ * Check that a debugger is created and there is no error when passing in a prefix.
+ *
+ * Do some basic content checks.
+ */
+ public function testDebugLoggerFormat() {
+ $log = CRM_Core_Error::createDebugLogger('my-test');
+ $log->log('Mary had a little lamb');
+ $log->log('Little lamb');
+ $config = CRM_Core_Config::singleton();
+ $fileContents = file_get_contents($log->_filename);
+ $this->assertEquals($config->configAndLogDir . 'CiviCRM.' . 'my-test.' . CRM_Core_Error::generateLogFileHash($config) . '.log', $log->_filename);
+ // The 5 here is a bit arbitrary - on my local the date part is 15 chars (Mar 29 05:29:16) - but we are just checking that
+ // there are chars for the date at the start.
+ $this->assertTrue(strpos($fileContents, '[info] Mary had a little lamb') > 10);
+ $this->assertContains('[info] Little lamb', $fileContents);
+ }
+
}