]> git.mxchange.org Git - friendica.git/commitdiff
Create Logger class
authorAdam Magness <adam.magness@gmail.com>
Mon, 29 Oct 2018 20:10:35 +0000 (16:10 -0400)
committerAdam Magness <adam.magness@gmail.com>
Tue, 30 Oct 2018 13:57:14 +0000 (09:57 -0400)
Create Core\Logger class and point old functions to the new ones.

include/text.php
src/Core/Logger.php [new file with mode: 0644]

index 2d497bd58bc7d2d0a79a71553b5f64a750fe5db5..d8546e2e82e2408d53e67ef8c242a3d0d6ac52e6 100644 (file)
@@ -23,6 +23,8 @@ use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Map;
 use Friendica\Util\Proxy as ProxyUtils;
 
+use Friendica\Core\Logger;
+
 require_once "include/conversation.php";
 
 /**
@@ -380,9 +382,6 @@ function attribute_contains($attr, $s) {
 }
 
 
-/* setup int->string log level map */
-$LOGGER_LEVELS = [];
-
 /**
  * @brief Logs the given message at the given log level
  *
@@ -398,57 +397,9 @@ $LOGGER_LEVELS = [];
  * @param string $msg
  * @param int $level
  */
-function logger($msg, $level = LOGGER_INFO) {
-       $a = get_app();
-       global $LOGGER_LEVELS;
-
-       $debugging = Config::get('system', 'debugging');
-       $logfile   = Config::get('system', 'logfile');
-       $loglevel = intval(Config::get('system', 'loglevel'));
-
-       if (
-               !$debugging
-               || !$logfile
-               || $level > $loglevel
-       ) {
-               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);
-                       }
-               }
-       }
-
-       $process_id = session_id();
-
-       if ($process_id == '') {
-               $process_id = get_app()->process_id;
-       }
-
-       $callers = debug_backtrace();
-
-       if (count($callers) > 1) {
-               $function = $callers[1]['function'];
-       } else {
-               $function = '';
-       }
-
-       $logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
-                       DateTimeFormat::utcNow(DateTimeFormat::ATOM),
-                       $process_id,
-                       $LOGGER_LEVELS[$level],
-                       basename($callers[0]['file']),
-                       $callers[0]['line'],
-                       $function,
-                       $msg
-               );
-
-       $stamp1 = microtime(true);
-       @file_put_contents($logfile, $logline, FILE_APPEND);
-       $a->saveTimestamp($stamp1, "file");
+function logger($msg, $level = LOGGER_INFO)
+{
+       Logger::logger($msg, $level);
 }
 
 /**
@@ -469,46 +420,9 @@ function logger($msg, $level = LOGGER_INFO) {
  * @param string $msg
  * @param int $level
  */
-function dlogger($msg, $level = LOGGER_INFO) {
-       $a = get_app();
-
-       $logfile = Config::get('system', 'dlogfile');
-       if (!$logfile) {
-               return;
-       }
-
-       $dlogip = Config::get('system', '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);
-                       }
-               }
-       }
-
-       $process_id = session_id();
-
-       if ($process_id == '') {
-               $process_id = $a->process_id;
-       }
-
-       $callers = debug_backtrace();
-       $logline = sprintf("%s@\t%s:\t%s:\t%s\t%s\t%s\n",
-                       DateTimeFormat::utcNow(),
-                       $process_id,
-                       basename($callers[0]['file']),
-                       $callers[0]['line'],
-                       $callers[1]['function'],
-                       $msg
-               );
-
-       $stamp1 = microtime(true);
-       @file_put_contents($logfile, $logline, FILE_APPEND);
-       $a->saveTimestamp($stamp1, "file");
+function dlogger($msg, $level = LOGGER_INFO)
+{
+       Logger::dlogger($msg, $level);
 }
 
 
diff --git a/src/Core/Logger.php b/src/Core/Logger.php
new file mode 100644 (file)
index 0000000..0613438
--- /dev/null
@@ -0,0 +1,142 @@
+<?php
+/**
+ * @file src/Core/Logger.php
+ */
+namespace Friendica\Core;
+
+use Friendica\Core\Config;
+use Friendica\Util\DataTimeFormat;
+
+class Logger
+{
+    /**
+     * @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 logger($msg, $level = LOGGER_INFO)
+    {
+        $a = get_app();
+        global $LOGGER_LEVELS;
+        $LOGGER_LEVELS = [];
+
+        $debugging = Config::get('system', 'debugging');
+        $logfile   = Config::get('system', 'logfile');
+        $loglevel = intval(Config::get('system', 'loglevel'));
+
+        if (
+            !$debugging
+            || !$logfile
+            || $level > $loglevel
+        ) {
+            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);
+                }
+            }
+        }
+
+        $process_id = session_id();
+
+        if ($process_id == '') {
+            $process_id = get_app()->process_id;
+        }
+
+        $callers = debug_backtrace();
+
+        if (count($callers) > 1) {
+            $function = $callers[1]['function'];
+        } else {
+            $function = '';
+        }
+
+        $logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
+                DateTimeFormat::utcNow(DateTimeFormat::ATOM),
+                $process_id,
+                $LOGGER_LEVELS[$level],
+                basename($callers[0]['file']),
+                $callers[0]['line'],
+                $function,
+                $msg
+            );
+
+        $stamp1 = microtime(true);
+        @file_put_contents($logfile, $logline, FILE_APPEND);
+        $a->saveTimestamp($stamp1, "file");
+    }
+
+    /**
+     * @brief An alternative logger for development.
+     * Works largely as logger() but allows developers
+     * 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 dlogger($msg, $level = LOGGER_INFO)
+    {
+        $a = get_app();
+
+        $logfile = Config::get('system', 'dlogfile');
+        if (!$logfile) {
+            return;
+        }
+
+        $dlogip = Config::get('system', '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);
+                }
+            }
+        }
+
+        $process_id = session_id();
+
+        if ($process_id == '') {
+            $process_id = $a->process_id;
+        }
+
+        $callers = debug_backtrace();
+        $logline = sprintf("%s@\t%s:\t%s:\t%s\t%s\t%s\n",
+                DateTimeFormat::utcNow(),
+                $process_id,
+                basename($callers[0]['file']),
+                $callers[0]['line'],
+                $callers[1]['function'],
+                $msg
+            );
+
+        $stamp1 = microtime(true);
+        @file_put_contents($logfile, $logline, FILE_APPEND);
+        $a->saveTimestamp($stamp1, "file");
+    }
+}
\ No newline at end of file