34 lines
1.2 KiB
PHP
34 lines
1.2 KiB
PHP
<?php
|
|
|
|
require_once('SimpleSAML/Configuration.php');
|
|
require_once('SimpleSAML/Logger.php');
|
|
|
|
class SimpleSAML_Logger_LoggingHandlerFile implements SimpleSAML_Logger_LoggingHandler {
|
|
|
|
private $logFile = null;
|
|
|
|
function __construct() {
|
|
$config = SimpleSAML_Configuration::getInstance();
|
|
assert($config instanceof SimpleSAML_Configuration);
|
|
|
|
/* Get the metadata handler option from the configuration. */
|
|
$this->logFile = $config->getBaseDir().'/'.$config->getValue('loggingdir').'/'.$config->getValue('logging.logfile');
|
|
|
|
if (@file_exists($this->logFile)) {
|
|
if (!@is_writeable($this->logFile)) throw new Exception("Could not write to logfile: ".$this->logFile);
|
|
}
|
|
else
|
|
{
|
|
if (!@touch($this->logFile)) throw new Exception("Could not create logfile: ".$this->logFile." Loggingdir is not writeable for the webserver user.");
|
|
}
|
|
}
|
|
|
|
function log_internal($level,$string) {
|
|
if ($this->logFile != null) {
|
|
$line = sprintf("%s ssp %d %s\n",strftime("%b %d %H:%M:%S"),$level,$string);
|
|
file_put_contents($this->logFile,$line,FILE_APPEND);
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|