2017 © Pedro Peláez
 

library watchtower

Monolog wrapper that sends your logs to Telegram channel

image

protounit/watchtower

Monolog wrapper that sends your logs to Telegram channel

  • Saturday, July 28, 2018
  • by protounit
  • Repository
  • 0 Watchers
  • 1 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

protounit/Watchtower

Telegram handler for Monolog. Send log info to channel with pretty formatting and useful information, (*1)

Telegram Channel Screenshot, (*2)

Inspired by monolog-telegram, (*3)

Dependencies

monolog/monolog guzzlehttp/guzzle, (*4)

How it works

  • Watchtower handle Monolog methods to send messages
  • After text formatting it creates fork of process and send message via guzzle
  • Parent process doing nothing so you don't wait until it stops requesting Telegram API
  • Child process waits for response and die after job is done
  • If you set config option 'useFork' => false guzzle will wait for response from Telegram API and hold your app till

Too much messages per time could eat all of your RAM because there is no fork bomb detectors!, (*5)

Install

composer require protounit/watchtower
composer install

Configuration

This array represents full amount of options you need to make package work, (*6)

$config = [
    'botId'     => 'BOTID:BOTID',
    'channelId' => 'CHANNELID',
    'timeZone'  => 'Europe/Rome',
    'useFork    => true
];

Example

<?php
require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use Protounit\WatchTower\TelegramHandler;

/**
* Minimal required configuration
*/
$config = [
    'botId'     => 'BOTID:BOTID',
    'channelId' => 'CHANNELID',
    'timeZone'  => 'Europe/Rome',
];

/**
* Creating Logger interface with custom channel name
*/
$logger = new Logger('WatchTower');

/**
* Including custom handler for Monolog messages
*/
$logger->pushHandler(new TelegramHandler($config));

/**
* Example messages
*/
$logger->error(
    'An error occurred while creating another better example',
    [
        'file'      => __FILE__,
        'line'      => __LINE__,
        'debugInfo' => [
        'message' => 'Yet another message',
        ],
    ]
);

/**
* Something more interesting
*/
$logger->critical(
'Cannot allocate memory: couldn\'t create child process',
    [
        'file'      => __FILE__,
        'line'      => __LINE__,
        'debugInfo' => [
        'memory' => '640K',
        ],
    ]
);

The Versions

28/07 2018

dev-master

9999999-dev

Monolog wrapper that sends your logs to Telegram channel

  Sources   Download

MIT

The Requires

 

by Avatar protounit

28/07 2018

1.3

1.3.0.0

Monolog wrapper that sends your logs to Telegram channel

  Sources   Download

MIT

The Requires

 

by Avatar protounit

26/07 2018

1.1

1.1.0.0

Monolog wrapper that sends your logs to Telegram channel

  Sources   Download

MIT

The Requires

 

by Avatar protounit

26/07 2018

1.2

1.2.0.0

Monolog wrapper that sends your logs to Telegram channel

  Sources   Download

MIT

The Requires

 

by Avatar protounit

25/07 2018

1.0

1.0.0.0

Monolog wrapper that sends your logs to Telegram channel

  Sources   Download

MIT

The Requires

 

by Avatar protounit