This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
simplesamlphp/lib/SimpleSAML/Logger/LoggingHandlerFile.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);
}
}
}
?>