use Friendica\Core\Config;
use Friendica\Util\DateTimeFormat;
-class Logger
+/**
+ * @brief Logger functions
+ */
+class Logger extends BaseObject
{
+ // Log levels:
+ const WARNING = 0;
+ const INFO = 1;
+ const TRACE = 2;
+ const DEBUG = 3;
+ const DATA = 4;
+ const ALL = 5;
+
+ public static $levels = [];
+
+ /**
+ * @brief Get class constants, and avoid using substring.
+ */
+ public function getConstants()
+ {
+ $reflectionClass = new ReflectionClass($this);
+ return $reflectionClass->getConstants();
+ }
+
/**
* @brief Logs the given message at the given log level
*
- * log levels:
- * LOGGER_WARNING
- * LOGGER_INFO (default)
- * LOGGER_TRACE
- * LOGGER_DEBUG
- * LOGGER_DATA
- * LOGGER_ALL
- *
- * @global array $LOGGER_LEVELS
* @param string $msg
* @param int $level
*/
- public static function log($msg, $level = LOGGER_INFO)
+ public static function log($msg, $level = INFO)
{
- $a = get_app();
- global $LOGGER_LEVELS;
- $LOGGER_LEVELS = [];
+ $a = self::getApp();
$debugging = Config::get('system', 'debugging');
$logfile = Config::get('system', 'logfile');
return;
}
- if (count($LOGGER_LEVELS) == 0) {
- foreach (get_defined_constants() as $k => $v) {
- if (substr($k, 0, 7) == "LOGGER_") {
- $LOGGER_LEVELS[$v] = substr($k, 7, 7);
- }
+ if (count($levels) == 0)
+ {
+ foreach (self::getConstants() as $k => $v)
+ {
+ $levels[$v] = $k;
}
}
- $process_id = session_id();
+ $processId = session_id();
- if ($process_id == '') {
- $process_id = get_app()->process_id;
+ if ($processId == '')
+ {
+ $processId = $a->process_id;
}
$callers = debug_backtrace();
$logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
DateTimeFormat::utcNow(DateTimeFormat::ATOM),
- $process_id,
- $LOGGER_LEVELS[$level],
+ $processId,
+ $levels[$level],
basename($callers[0]['file']),
$callers[0]['line'],
$function,
* to isolate particular elements they are targetting
* personally without background noise
*
- * log levels:
- * LOGGER_WARNING
- * LOGGER_INFO (default)
- * LOGGER_TRACE
- * LOGGER_DEBUG
- * LOGGER_DATA
- * LOGGER_ALL
- *
- * @global array $LOGGER_LEVELS
* @param string $msg
* @param int $level
*/
- public static function devLog($msg, $level = LOGGER_INFO)
+ public static function devLog($msg, $level = INFO)
{
- $a = get_app();
+ $a = self::getApp();
$logfile = Config::get('system', 'dlogfile');
+
if (!$logfile) {
return;
}
$dlogip = Config::get('system', 'dlogip');
- if (!is_null($dlogip) && $_SERVER['REMOTE_ADDR'] != $dlogip) {
+
+ if (!is_null($dlogip) && $_SERVER['REMOTE_ADDR'] != $dlogip)
+ {
return;
}
- if (count($LOGGER_LEVELS) == 0) {
- foreach (get_defined_constants() as $k => $v) {
- if (substr($k, 0, 7) == "LOGGER_") {
- $LOGGER_LEVELS[$v] = substr($k, 7, 7);
- }
+ if (count($levels) == 0)
+ {
+ foreach (self::getConstants() as $k => $v)
+ {
+ $levels[$v] = $k;
}
}
- $process_id = session_id();
+ $processId = session_id();
- if ($process_id == '') {
- $process_id = $a->process_id;
+ if ($processId == '')
+ {
+ $processId = $a->process_id;
}
$callers = debug_backtrace();
$logline = sprintf("%s@\t%s:\t%s:\t%s\t%s\t%s\n",
DateTimeFormat::utcNow(),
- $process_id,
+ $processId,
basename($callers[0]['file']),
$callers[0]['line'],
$callers[1]['function'],
@file_put_contents($logfile, $logline, FILE_APPEND);
$a->saveTimestamp($stamp1, "file");
}
-}
\ No newline at end of file
+}