Srv Bebeboutik 6c0978166c add modules
2016-01-04 12:49:26 +01:00

97 lines
2.7 KiB
PHP
Executable File

<?php
/**
* Copyright (C) 2007 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Log levels
define("L_OFF", 0); // No log
define("L_ERR", 1); // Log Errors
define("L_RQST", 2); // Log Request from GC
define("L_RESP", 4); // Log Resoponse To Google
define("L_ERR_RQST", L_ERR | L_RQST);
define("L_ALL", L_ERR | L_RQST | L_RESP);
class GoogleLog {
var $errorLogFile;
var $messageLogFile;
// L_ALL (err+requests+responses), L_ERR, L_RQST, L_RESP, L_OFF
var $logLevel = L_ERR_RQST;
/**
* SetLogFiles
*/
function GoogleLog($errorLogFile, $messageLogFile, $logLevel=L_ERR_RQST, $die=true){
$this->logLevel = $logLevel;
if ($logLevel == L_OFF) {
$this->logLevel = L_OFF;
} else {
if (!$this->errorLogFile = @fopen($errorLogFile, "a")) {
header('HTTP/1.0 500 Internal Server Error');
$log = "Cannot open " . $errorLogFile . " file.\n" .
"Logs are not writable, set them to 777";
error_log($log, 0);
if ($die) {
die($log);
}else {
echo $log;
$this->logLevel = L_OFF;
}
}
if (!$this->messageLogFile = @fopen($messageLogFile, "a")) {
fclose($this->errorLogFile);
header('HTTP/1.0 500 Internal Server Error');
$log = "Cannot open " . $messageLogFile . " file.\n" .
"Logs are not writable, set them to 777";
error_log($log, 0);
if ($die) {
die($log);
}else {
echo $log;
$this->logLevel = L_OFF;
}
}
}
$this->logLevel = $logLevel;
}
function LogError($log){
if ($this->logLevel & L_ERR){
fwrite($this->errorLogFile,
sprintf("\n%s:- %s\n",date("D M j G:i:s T Y"),$log));
return true;
}
return false;
}
function LogRequest($log){
if ($this->logLevel & L_RQST){
fwrite($this->messageLogFile,
sprintf("\n%s:- %s\n",date("D M j G:i:s T Y"),$log));
return true;
}
return false;
}
function LogResponse($log) {
if ($this->logLevel & L_RESP){
$this->LogRequest($log);
return true;
}
return false;
}
}