mirror of
https://github.com/danog/MadelineProto.git
synced 2024-11-30 08:18:59 +01:00
Send the logfile when reporting errors
This commit is contained in:
parent
753e6575ac
commit
e50dd79e70
@ -86,7 +86,7 @@ You can find examples for nearly every MadelineProto function in
|
|||||||
* [Handling updates (new messages)](https://docs.madelineproto.xyz/docs/UPDATES.html)
|
* [Handling updates (new messages)](https://docs.madelineproto.xyz/docs/UPDATES.html)
|
||||||
* [Self-restart on webhosts](https://docs.madelineproto.xyz/docs/UPDATES.html#self-restart-on-webhosts)
|
* [Self-restart on webhosts](https://docs.madelineproto.xyz/docs/UPDATES.html#self-restart-on-webhosts)
|
||||||
* [Async Event driven](https://docs.madelineproto.xyz/docs/UPDATES.html#async-event-driven)
|
* [Async Event driven](https://docs.madelineproto.xyz/docs/UPDATES.html#async-event-driven)
|
||||||
* [Multi-account: Async Combined Event driven update handling](https://docs.madelineproto.xyz/docs/UPDATES.html#async-combined-event-driven)
|
* [Multi-account: Async Event driven](https://docs.madelineproto.xyz/docs/UPDATES.html#async-event-driven)
|
||||||
* [Async Callback](https://docs.madelineproto.xyz/docs/UPDATES.html#async-callback)
|
* [Async Callback](https://docs.madelineproto.xyz/docs/UPDATES.html#async-callback)
|
||||||
* [Noop (default)](https://docs.madelineproto.xyz/docs/UPDATES.html#noop)
|
* [Noop (default)](https://docs.madelineproto.xyz/docs/UPDATES.html#noop)
|
||||||
* [Fetch all updates from the beginning](https://docs.madelineproto.xyz/docs/UPDATES.html#fetch-all-updates-from-the-beginning)
|
* [Fetch all updates from the beginning](https://docs.madelineproto.xyz/docs/UPDATES.html#fetch-all-updates-from-the-beginning)
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
* @link https://docs.madelineproto.xyz MadelineProto documentation
|
* @link https://docs.madelineproto.xyz MadelineProto documentation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use Amp\Loop;
|
|
||||||
use danog\MadelineProto\API;
|
use danog\MadelineProto\API;
|
||||||
use danog\MadelineProto\EventHandler;
|
use danog\MadelineProto\EventHandler;
|
||||||
use danog\MadelineProto\Exception;
|
use danog\MadelineProto\Exception;
|
||||||
|
@ -128,7 +128,7 @@ class API extends InternalDoc
|
|||||||
public function __construct_async(string $session, array $settings = []): \Generator
|
public function __construct_async(string $session, array $settings = []): \Generator
|
||||||
{
|
{
|
||||||
Logger::constructorFromSettings($settings);
|
Logger::constructorFromSettings($settings);
|
||||||
$session = Absolute::absolute($session);
|
$this->session = $session = Absolute::absolute($session);
|
||||||
if ($unserialized = yield from Serialization::legacyUnserialize($session)) {
|
if ($unserialized = yield from Serialization::legacyUnserialize($session)) {
|
||||||
$unserialized->storage = $unserialized->storage ?? [];
|
$unserialized->storage = $unserialized->storage ?? [];
|
||||||
$unserialized->session = $session;
|
$unserialized->session = $session;
|
||||||
@ -235,10 +235,7 @@ class API extends InternalDoc
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
$thrown = true;
|
$thrown = true;
|
||||||
$this->logger((string) $e, Logger::FATAL_ERROR);
|
$this->logger((string) $e, Logger::FATAL_ERROR);
|
||||||
try {
|
$this->report("Surfaced: $e");
|
||||||
$this->report("Surfaced: $e");
|
|
||||||
} catch (\Throwable $e) {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} while ($thrown);
|
} while ($thrown);
|
||||||
}
|
}
|
||||||
|
@ -5540,11 +5540,11 @@ class InternalDoc extends APIFactory
|
|||||||
*
|
*
|
||||||
* @param string|EventHandler $event_handler Event handler
|
* @param string|EventHandler $event_handler Event handler
|
||||||
*
|
*
|
||||||
* @return void
|
* @return \Generator
|
||||||
*/
|
*/
|
||||||
public function setEventHandler($event_handler): void
|
public function setEventHandler($event_handler, array $extra = [])
|
||||||
{
|
{
|
||||||
$this->API->setEventHandler($event_handler);
|
return $this->__call(__FUNCTION__, [$event_handler, $extra]);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Unset event handler.
|
* Unset event handler.
|
||||||
|
@ -70,6 +70,12 @@ class Logger
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $newline = "\n";
|
public $newline = "\n";
|
||||||
|
/**
|
||||||
|
* Logfile
|
||||||
|
*
|
||||||
|
* @var ResourceOutputStream
|
||||||
|
*/
|
||||||
|
public $stdout;
|
||||||
/**
|
/**
|
||||||
* Default logger instance.
|
* Default logger instance.
|
||||||
*
|
*
|
||||||
|
File diff suppressed because one or more lines are too long
@ -267,14 +267,14 @@ class Magic
|
|||||||
self::$altervista = isset($_SERVER['SERVER_ADMIN']) && \strpos($_SERVER['SERVER_ADMIN'], 'altervista.org');
|
self::$altervista = isset($_SERVER['SERVER_ADMIN']) && \strpos($_SERVER['SERVER_ADMIN'], 'altervista.org');
|
||||||
self::$zerowebhost = isset($_SERVER['SERVER_ADMIN']) && \strpos($_SERVER['SERVER_ADMIN'], '000webhost.io');
|
self::$zerowebhost = isset($_SERVER['SERVER_ADMIN']) && \strpos($_SERVER['SERVER_ADMIN'], '000webhost.io');
|
||||||
self::$can_getmypid = !self::$altervista && !self::$zerowebhost;
|
self::$can_getmypid = !self::$altervista && !self::$zerowebhost;
|
||||||
self::$revision = @\file_get_contents(__DIR__ . '/../../../.git/refs/heads/master');
|
self::$revision = @\file_get_contents(__DIR__.'/../../../.git/refs/heads/master');
|
||||||
if (self::$revision) {
|
if (self::$revision) {
|
||||||
self::$revision = \trim(self::$revision);
|
self::$revision = \trim(self::$revision);
|
||||||
$latest = @\file_get_contents('https://phar.madelineproto.xyz/release');
|
$latest = @\file_get_contents('https://phar.madelineproto.xyz/release');
|
||||||
if ($latest) {
|
if ($latest) {
|
||||||
$latest = self::$revision === \trim($latest) ? '' : ' (AN UPDATE IS REQUIRED)';
|
$latest = self::$revision === \trim($latest) ? '' : ' (AN UPDATE IS REQUIRED)';
|
||||||
}
|
}
|
||||||
self::$revision = 'Revision: ' . self::$revision . $latest;
|
self::$revision = 'Revision: '.self::$revision.$latest;
|
||||||
}
|
}
|
||||||
self::$can_parallel = false;
|
self::$can_parallel = false;
|
||||||
if (PHP_SAPI === 'cli' && !(\class_exists(\Phar::class) && \Phar::running())) {
|
if (PHP_SAPI === 'cli' && !(\class_exists(\Phar::class) && \Phar::running())) {
|
||||||
@ -332,7 +332,7 @@ class Magic
|
|||||||
try {
|
try {
|
||||||
\error_reporting(E_ALL);
|
\error_reporting(E_ALL);
|
||||||
\ini_set('log_errors', 1);
|
\ini_set('log_errors', 1);
|
||||||
\ini_set('error_log', Magic::$script_cwd . '/MadelineProto.log');
|
\ini_set('error_log', Magic::$script_cwd.'/MadelineProto.log');
|
||||||
\error_log('Enabled PHP logging');
|
\error_log('Enabled PHP logging');
|
||||||
} catch (\danog\MadelineProto\Exception $e) {
|
} catch (\danog\MadelineProto\Exception $e) {
|
||||||
//$this->logger->logger('Could not enable PHP logging');
|
//$this->logger->logger('Could not enable PHP logging');
|
||||||
|
@ -49,9 +49,9 @@ trait Events
|
|||||||
*
|
*
|
||||||
* @param string|EventHandler $event_handler Event handler
|
* @param string|EventHandler $event_handler Event handler
|
||||||
*
|
*
|
||||||
* @return void
|
* @return \Generator
|
||||||
*/
|
*/
|
||||||
public function setEventHandler($event_handler): void
|
public function setEventHandler($event_handler): \Generator
|
||||||
{
|
{
|
||||||
if (!\class_exists($event_handler) || !\is_subclass_of($event_handler, '\\danog\\MadelineProto\\EventHandler')) {
|
if (!\class_exists($event_handler) || !\is_subclass_of($event_handler, '\\danog\\MadelineProto\\EventHandler')) {
|
||||||
throw new \danog\MadelineProto\Exception('Wrong event handler was defined');
|
throw new \danog\MadelineProto\Exception('Wrong event handler was defined');
|
||||||
@ -80,7 +80,7 @@ trait Events
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->setReportPeers($this->event_handler_instance->getReportPeers());
|
yield from $this->setReportPeers($this->event_handler_instance->getReportPeers());
|
||||||
$this->settings['updates']['callback'] = [$this, 'eventUpdateHandler'];
|
$this->settings['updates']['callback'] = [$this, 'eventUpdateHandler'];
|
||||||
$this->settings['updates']['handle_updates'] = true;
|
$this->settings['updates']['handle_updates'] = true;
|
||||||
$this->settings['updates']['run_callback'] = true;
|
$this->settings['updates']['run_callback'] = true;
|
||||||
|
@ -25,6 +25,7 @@ class FileIdTest extends TestCase
|
|||||||
public static function setUpBeforeClass(): void
|
public static function setUpBeforeClass(): void
|
||||||
{
|
{
|
||||||
self::$MadelineProto = new API(
|
self::$MadelineProto = new API(
|
||||||
|
'testing.madeline',
|
||||||
[
|
[
|
||||||
'app_info' => [
|
'app_info' => [
|
||||||
'api_id' => \getenv('API_ID'),
|
'api_id' => \getenv('API_ID'),
|
||||||
|
Loading…
Reference in New Issue
Block a user