Create Logger class
Create Core\Logger class and point old functions to the new ones.
This commit is contained in:
parent
f7147fae96
commit
d6d593d724
2 changed files with 150 additions and 94 deletions
102
include/text.php
102
include/text.php
|
@ -23,6 +23,8 @@ use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\Map;
|
use Friendica\Util\Map;
|
||||||
use Friendica\Util\Proxy as ProxyUtils;
|
use Friendica\Util\Proxy as ProxyUtils;
|
||||||
|
|
||||||
|
use Friendica\Core\Logger;
|
||||||
|
|
||||||
require_once "include/conversation.php";
|
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
|
* @brief Logs the given message at the given log level
|
||||||
*
|
*
|
||||||
|
@ -398,57 +397,9 @@ $LOGGER_LEVELS = [];
|
||||||
* @param string $msg
|
* @param string $msg
|
||||||
* @param int $level
|
* @param int $level
|
||||||
*/
|
*/
|
||||||
function logger($msg, $level = LOGGER_INFO) {
|
function logger($msg, $level = LOGGER_INFO)
|
||||||
$a = get_app();
|
{
|
||||||
global $LOGGER_LEVELS;
|
Logger::logger($msg, $level);
|
||||||
|
|
||||||
$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");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -469,46 +420,9 @@ function logger($msg, $level = LOGGER_INFO) {
|
||||||
* @param string $msg
|
* @param string $msg
|
||||||
* @param int $level
|
* @param int $level
|
||||||
*/
|
*/
|
||||||
function dlogger($msg, $level = LOGGER_INFO) {
|
function dlogger($msg, $level = LOGGER_INFO)
|
||||||
$a = get_app();
|
{
|
||||||
|
Logger::dlogger($msg, $level);
|
||||||
$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");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
142
src/Core/Logger.php
Normal file
142
src/Core/Logger.php
Normal file
|
@ -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");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue