*/
namespace Friendica\Core;
+use Friendica\App;
use Friendica\BaseObject;
-use Friendica\Core\Config;
+use Monolog;
use Friendica\Util\DateTimeFormat;
-use ReflectionClass;
/**
* @brief Logger functions
*/
class Logger extends BaseObject
{
+ /**
+ * Creates a basic Monolog instance for logging.
+ *
+ * @param string $application the current application name (index, daemon, ...)
+ *
+ * @return Monolog\Logger The Logger instance
+ */
+ public static function create($application)
+ {
+ $logger = new Monolog\Logger($application);
+
+ $logger->pushProcessor(new Monolog\Processor\IntrospectionProcessor());
+ $logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
+ $logger->pushProcessor(new Monolog\Processor\WebProcessor());
+ $logger->pushProcessor(new App\FriendicaLoggerProcessor());
+
+ return $logger;
+ }
+
+ /**
+ * Sets the default Logging handler for this instance.
+ * Can be combined with other handlers too if necessary.
+ *
+ * @param Monolog\Logger $logger The Logger instance of this Application
+ * @param App $app The Friendica Application
+ */
+ public static function loadDefaultHandler($logger, $app)
+ {
+ foreach ($logger->getProcessors() as $processor) {
+ if ($processor instanceof App\FriendicaLoggerProcessor) {
+ $processor->setProcessId($app->process_id);
+ }
+ }
+
+ $debugging = Config::get('system', 'debugging');
+ $logfile = Config::get('system', 'logfile');
+ $loglevel = intval(Config::get('system', 'loglevel'));
+
+ if (!$debugging || !$logfile) {
+ return;
+ }
+
+ $fileHandler = new Monolog\Handler\StreamHandler($logfile . ".1", $loglevel);
+ $logger->pushHandler($fileHandler);
+ }
+
// Log levels:
- const WARNING = 0;
- const INFO = 1;
- const TRACE = 2;
- const DEBUG = 3;
- const DATA = 4;
- const ALL = 5;
+ //EMERGENCY
+ //ALERT
+ //CRITICAL
+ const WARNING = 0; //ERROR
+ const INFO = 1; //WARNING
+ const TRACE = 2; //NOTICE(default)
+ const DEBUG = 3; //INFO
+ const DATA = 4; //INFO
+ const ALL = 5; //DEBUG
public static $levels = [
self::WARNING => 'Warning',
*
* @param string $msg
* @param int $level
+ *
+ * @deprecated since 2019.03 - use App->getLogger() instead
*/
public static function log($msg, $level = self::INFO)
{
* personally without background noise
*
* @param string $msg
+ *
+ * * @deprecated since 2019.03 - never used
*/
public static function devLog($msg)
{