5.3 버전 내용 적용
This commit is contained in:
102
plugin/social/Hybrid/Logger.php
Normal file
102
plugin/social/Hybrid/Logger.php
Normal file
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* HybridAuth
|
||||
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
|
||||
* (c) 2009-2015, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
|
||||
*/
|
||||
|
||||
/**
|
||||
* Debugging and Logging manager
|
||||
*/
|
||||
class Hybrid_Logger {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
function __construct() {
|
||||
// if debug mode is set to true, then check for the writable log file
|
||||
if (Hybrid_Auth::$config["debug_mode"]) {
|
||||
if (!isset(Hybrid_Auth::$config["debug_file"])) {
|
||||
throw new Exception("'debug_mode' is set to 'true' but no log file path 'debug_file' is set.", 1);
|
||||
} elseif (!file_exists(Hybrid_Auth::$config["debug_file"]) && !is_writable(Hybrid_Auth::$config["debug_file"])) {
|
||||
if (!touch(Hybrid_Auth::$config["debug_file"])) {
|
||||
throw new Exception("'debug_mode' is set to 'true', but the file " . Hybrid_Auth::$config['debug_file'] . " in 'debug_file' can not be created.", 1);
|
||||
}
|
||||
} elseif (!is_writable(Hybrid_Auth::$config["debug_file"])) {
|
||||
throw new Exception("'debug_mode' is set to 'true', but the given log file path 'debug_file' is not a writable file.", 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a debug message with an object dump
|
||||
*
|
||||
* @param string $message Debug message
|
||||
* @param stdClass $object Object being debugged
|
||||
* @return void
|
||||
*/
|
||||
public static function debug($message, $object = null) {
|
||||
if (Hybrid_Auth::$config["debug_mode"] === true) {
|
||||
$dt = new DateTime('now', new DateTimeZone( 'UTC' ));
|
||||
file_put_contents(Hybrid_Auth::$config["debug_file"], implode(' -- ', array(
|
||||
"DEBUG",
|
||||
$_SERVER['REMOTE_ADDR'],
|
||||
$dt->format(DATE_ATOM),
|
||||
$message,
|
||||
print_r($object, true) . PHP_EOL,
|
||||
)), FILE_APPEND
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs an info message
|
||||
*
|
||||
* @param string $message Info message
|
||||
* @return void
|
||||
*/
|
||||
public static function info($message) {
|
||||
if (in_array(Hybrid_Auth::$config["debug_mode"], array(true, 'info'), true)) {
|
||||
$dt = new DateTime('now', new DateTimeZone( 'UTC' ));
|
||||
file_put_contents(Hybrid_Auth::$config["debug_file"], implode(' -- ', array(
|
||||
"INFO",
|
||||
$_SERVER['REMOTE_ADDR'],
|
||||
$dt->format(DATE_ATOM),
|
||||
$message . PHP_EOL,
|
||||
)), FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs an error message with an object dump
|
||||
*
|
||||
* @param string $message Error message
|
||||
* @param stdClass $object Object being debugged
|
||||
* @return void
|
||||
*/
|
||||
public static function error($message, $object = null) {
|
||||
if (isset(Hybrid_Auth::$config["debug_mode"]) && in_array(Hybrid_Auth::$config["debug_mode"], array(true, 'info', 'error'), true)) {
|
||||
$dt = new DateTime('now', new DateTimeZone( 'UTC' ));
|
||||
file_put_contents(Hybrid_Auth::$config["debug_file"], implode(' -- ', array(
|
||||
'ERROR',
|
||||
$_SERVER['REMOTE_ADDR'],
|
||||
$dt->format(DATE_ATOM),
|
||||
$message,
|
||||
print_r($object, true) . PHP_EOL
|
||||
)), FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Dumps the data in the way suitable to be output in log files for debug purposes
|
||||
*
|
||||
* @param mixed $data
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function dumpData($data) {
|
||||
return var_export($data, true);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user