Example #1
1
<?php

/**
 * This file is part of monolog2slackwebhook repository
 *
 * (c) Ronny Herrgesell
 *
 * For the full copyright and license information, please view the LICENSE
 *
 * @Author: ronny
 * @Date: 05.08.16
 */
use Sleipi\Monolog2Slack\Message\SlackMessage;
use Sleipi\Monolog2Slack\Message\Field;
use Sleipi\Monolog2Slack\SlackMessageFormatter;
use Sleipi\Monolog2Slack\SlackWebhookHandler;
require_once __DIR__ . '/../vendor/autoload.php';
$slackWebhookUrl = "https://hooks.slack.com/services/<token>";
$initSlackMessage = (new SlackMessage())->setFooter("PubTonic")->setFooterIcon("https://tonic.com/img/social/202x202.png");
$slack = new SlackWebhookHandler($slackWebhookUrl, \Monolog\Logger::DEBUG);
$slack->setFormatter(new SlackMessageFormatter($initSlackMessage));
$logger = new \Monolog\Logger('slack', [$slack]);
$logger->debug("My Debug <http://www.foo.com|Link>");
$logger->info('My Info Message', [(new Field())->setTitle('Priority')->setValue('Small Info'), (new Field())->setTitle('Info')->setValue('Another small Info')]);
$logger->notice('My Notice Message', [(new SlackMessage())->setPretext('Irgendwas ist passiert')]);
$logger->warning("My Multiline\nWarning Message");
$logger->error('My Error Message for <!everyone>');
<?php

require './vendor/autoload.php';
$myFirstLogger = new Monolog\Logger('myChannel');
$mySimpleHandler = new Monolog\Handler\StreamHandler('./my.log');
$myDBHandler = new MySQLHandler\MySQLHandler(new PDO('mysql:host=localhost;dbname=my_logs_db', 'root', 'root'), 'logs');
$myFirstLogger->pushHandler($mySimpleHandler);
$myFirstLogger->pushHandler($myDBHandler);
$myFirstLogger->debug('My first debug message!');
$myFirstLogger->error('Something went wrong');
Example #3
0
 public function testTrigger()
 {
     $log = new \Monolog\Logger('core');
     $handler = new \Monolog\ErrorHandler($log);
     $log->pushHandler(new \Monolog\Handler\StreamHandler((string) (__DIR__ . '/../') . 'error.txt', \Monolog\Logger::WARNING));
     // \Monolog\ErrorHandler::register($log);
     $handler->registerErrorHandler([], false);
     $handler->registerExceptionHandler();
     $handler->registerFatalHandler();
     $log->warning('Foo');
     $log->error('Bar');
 }
Example #4
0
 /**
  * GetWebPage()
  *
  * Retrieve web page html for given url in parameter $url.  Uses third-party class under ultimate-web-scraper
  *
  * @param string $url  The URL to fetch.
  *
  * @return false if failed to get web page for URL or the HTML content on success
  *
  *
  */
 function GetWebPage($url)
 {
     $web = new WebBrowser();
     $result = $web->Process($url);
     //
     // If fetch failed, or HTTP response code is anything other than 200, report an error
     // and return false
     //
     if (!$result["success"]) {
         $this->log->error("Error retrieving URL.  " . $result["error"]);
         return false;
     } else {
         if ($result["response"]["code"] != 200) {
             $this->log->error("Error retrieving URL.  Server returned:  " . $result["response"]["code"] . " " . $result["response"]["meaning"]);
             return false;
         } else {
             return $result["body"];
         }
     }
 }
Example #5
0
 /**
  * {@inheritdoc}
  */
 public function onError(ConnectionInterface $conn, \Exception $e)
 {
     $this->_in->error("onError: ({$e->getCode()}): {$e->getMessage()}", ['id' => $conn->resourceId, 'file' => $e->getFile(), 'line' => $e->getLine()]);
     $this->_component->onError($this->_connections[$conn], $e);
 }
Example #6
0
$log->info(sprintf('Starting up - listening for CMS on %s.', $config->listenOn));
try {
    $loop = React\EventLoop\Factory::create();
    $context = new React\ZMQ\Context($loop);
    // Reply socket for requests from CMS
    $responder = $context->getSocket(ZMQ::SOCKET_REP);
    $responder->bind($config->listenOn);
    // Pub socket for messages to Players (subs)
    $publisher = $context->getSocket(ZMQ::SOCKET_PUB);
    foreach ($config->pubOn as $pubOn) {
        $log->info(sprintf('Bind to %s for Publish.', $pubOn));
        $publisher->bind($pubOn);
    }
    // REP
    $responder->on('error', function ($e) use($log) {
        $log->error($e->getMessage());
    });
    $responder->on('message', function ($msg) use($log, $responder, $publisher) {
        try {
            // Log incoming message
            $log->info($msg);
            // Parse the message and expect a "channel" element
            $msg = json_decode($msg);
            if (!isset($msg->channel)) {
                throw new InvalidArgumentException('Missing Channel');
            }
            if (!isset($msg->key)) {
                throw new InvalidArgumentException('Missing Key');
            }
            if (!isset($msg->message)) {
                throw new InvalidArgumentException('Missing Message');
Example #7
0
    $settings = uptize\Common\Config::loadFile($config);
    if (empty($settings['checks'])) {
        throw new Exception('Empty check list on config file.');
    }
    $report = uptize\Agent::run($settings['checks']);
    if ($cmd['dryRun']) {
        if (empty($cmd['output'])) {
            uptize\Report\Printer::console($report);
        } else {
            uptize\Report\Printer::file($cmd['output'], $report);
        }
    } else {
        if ($cmd['verbose']) {
            uptize\Report\Printer::console($report);
        }
        if (empty($cmd['key']) && empty($settings['key'])) {
            throw new Exception('You have to set the Machine Key with -k (--key) or on the config file.');
        }
        $announcer = new uptize\Announcer(array('key' => $settings['key']));
        if (!$announcer->announce($report)) {
            throw new Exception($announcer->error());
        }
    }
} catch (Exception $exception) {
    $log = new Monolog\Logger('uptize');
    $log->pushHandler(new Monolog\Handler\StreamHandler($cmd['log'], Monolog\Logger::WARNING));
    if ($cmd['verbose']) {
        $log->pushHandler(new uptize\Common\Verbose(), Monolog\Logger::DEBUG);
    }
    $log->error($exception->getMessage(), array('file' => $exception->getFile(), 'line' => $exception->getLine()));
}