FleepHookHandler
extends SocketHandler
in package
Sends logs to Fleep.io using Webhook integrations
You'll need a Fleep.io account to use this handler.
Tags
Table of Contents
- FLEEP_HOOK_URI = '/hook/'
- FLEEP_HOST = 'fleep.io'
- $bubble : mixed
- $formatter : FormatterInterface
- $level : mixed
- $processors : mixed
- $token : string
- $chunkSize : mixed
- $connectionString : mixed
- $connectionTimeout : mixed
- $errno : mixed
- $errstr : mixed
- $lastSentBytes : mixed
- $lastWritingAt : mixed
- $persistent : mixed
- $resource : mixed
- $timeout : mixed
- $writingTimeout : mixed
- __construct() : mixed
- Construct a new Fleep.io Handler.
- __destruct() : mixed
- close() : mixed
- Closes the handler.
- closeSocket() : mixed
- Close socket, if open
- getBubble() : bool
- Gets the bubbling behavior.
- getChunkSize() : float
- Get current chunk size
- getConnectionString() : string
- Get current connection string
- getConnectionTimeout() : float
- Get current connection timeout setting
- getFormatter() : FormatterInterface
- Gets the formatter.
- getLevel() : int
- Gets minimum logging level at which this handler will be triggered.
- getTimeout() : float
- Get current in-transfer timeout
- getWritingTimeout() : float
- Get current local writing timeout
- handle() : mixed
- {@inheritdoc}
- handleBatch() : mixed
- Handles a set of records at once.
- isConnected() : bool
- Check to see if the socket is currently available.
- isHandling() : bool
- Checks whether the given record will be handled by this handler.
- isPersistent() : bool
- Get persistent setting
- popProcessor() : callable
- Removes the processor on top of the stack and returns it.
- pushProcessor() : self
- Adds a processor in the stack.
- reset() : mixed
- setBubble() : self
- Sets the bubbling behavior.
- setChunkSize() : mixed
- Set chunk size. Only has effect during connection in the writing cycle.
- setConnectionTimeout() : mixed
- Set connection timeout. Only has effect before we connect.
- setFormatter() : self
- Sets the formatter.
- setLevel() : self
- Sets minimum logging level at which this handler will be triggered.
- setPersistent() : mixed
- Set socket connection to nbe persistent. It only has effect before the connection is initiated.
- setTimeout() : mixed
- Set write timeout. Only has effect before we connect.
- setWritingTimeout() : mixed
- Set writing timeout. Only has effect during connection in the writing cycle.
- write() : void
- Handles a log record
- fsockopen() : mixed
- Wrapper to allow mocking
- fwrite() : mixed
- Wrapper to allow mocking
- generateDataStream() : string
- getDefaultFormatter() : LineFormatter
- Returns the default formatter to use with this handler
- getResource() : resource|null
- pfsockopen() : mixed
- Wrapper to allow mocking
- processRecord() : array<string|int, mixed>
- Processes a record.
- streamGetMetadata() : mixed
- Wrapper to allow mocking
- streamSetChunkSize() : mixed
- Wrapper to allow mocking
- streamSetTimeout() : mixed
- Wrapper to allow mocking
- buildContent() : string
- Builds the body of API call
- buildHeader() : string
- Builds the header of the API Call
- connect() : mixed
- connectIfNotConnected() : mixed
- createSocketResource() : mixed
- setSocketTimeout() : mixed
- setStreamChunkSize() : mixed
- validateTimeout() : mixed
- writeToSocket() : mixed
- writingIsTimedOut() : mixed
Constants
FLEEP_HOOK_URI
public
mixed
FLEEP_HOOK_URI
= '/hook/'
FLEEP_HOST
public
mixed
FLEEP_HOST
= 'fleep.io'
Properties
$bubble
protected
mixed
$bubble
= true
$formatter
protected
FormatterInterface
$formatter
$level
protected
mixed
$level
= MonologLogger::DEBUG
$processors
protected
mixed
$processors
= array()
$token
protected
string
$token
Webhook token (specifies the conversation where logs are sent)
$chunkSize
private
mixed
$chunkSize
= null
$connectionString
private
mixed
$connectionString
$connectionTimeout
private
mixed
$connectionTimeout
$errno
private
mixed
$errno
$errstr
private
mixed
$errstr
$lastSentBytes
private
mixed
$lastSentBytes
= null
$lastWritingAt
private
mixed
$lastWritingAt
$persistent
private
mixed
$persistent
= false
$resource
private
mixed
$resource
$timeout
private
mixed
$timeout
= 0
$writingTimeout
private
mixed
$writingTimeout
= 10
Methods
__construct()
Construct a new Fleep.io Handler.
public
__construct(string $token[, bool|int $level = Logger::DEBUG ][, bool $bubble = true ]) : mixed
For instructions on how to create a new web hook in your conversations see https://fleep.io/integrations/webhooks/
Parameters
- $token : string
-
Webhook token
- $level : bool|int = Logger::DEBUG
-
The minimum logging level at which this handler will be triggered
- $bubble : bool = true
-
Whether the messages that are handled can bubble up the stack or not
Tags
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —close()
Closes the handler.
public
close() : mixed
This will be called automatically when the object is destroyed
Return values
mixed —closeSocket()
Close socket, if open
public
closeSocket() : mixed
Return values
mixed —getBubble()
Gets the bubbling behavior.
public
getBubble() : bool
Return values
bool —true means that this handler allows bubbling. false means that bubbling is not permitted.
getChunkSize()
Get current chunk size
public
getChunkSize() : float
Return values
float —getConnectionString()
Get current connection string
public
getConnectionString() : string
Return values
string —getConnectionTimeout()
Get current connection timeout setting
public
getConnectionTimeout() : float
Return values
float —getFormatter()
Gets the formatter.
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —getLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Return values
int —getTimeout()
Get current in-transfer timeout
public
getTimeout() : float
Return values
float —getWritingTimeout()
Get current local writing timeout
public
getWritingTimeout() : float
Return values
float —handle()
{@inheritdoc}
public
handle(array<string|int, mixed> $record) : mixed
Parameters
- $record : array<string|int, mixed>
Return values
mixed —handleBatch()
Handles a set of records at once.
public
handleBatch(array<string|int, mixed> $records) : mixed
Parameters
- $records : array<string|int, mixed>
-
The records to handle (an array of record arrays)
Return values
mixed —isConnected()
Check to see if the socket is currently available.
public
isConnected() : bool
UDP might appear to be connected but might fail when writing. See http://php.net/fsockopen for details.
Return values
bool —isHandling()
Checks whether the given record will be handled by this handler.
public
isHandling(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
-
Partial log record containing only a level key
Return values
bool —isPersistent()
Get persistent setting
public
isPersistent() : bool
Return values
bool —popProcessor()
Removes the processor on top of the stack and returns it.
public
popProcessor() : callable
Return values
callable —pushProcessor()
Adds a processor in the stack.
public
pushProcessor(mixed $callback) : self
Parameters
- $callback : mixed
Return values
self —reset()
public
reset() : mixed
Return values
mixed —setBubble()
Sets the bubbling behavior.
public
setBubble(bool $bubble) : self
Parameters
- $bubble : bool
-
true means that this handler allows bubbling. false means that bubbling is not permitted.
Return values
self —setChunkSize()
Set chunk size. Only has effect during connection in the writing cycle.
public
setChunkSize(float $bytes) : mixed
Parameters
- $bytes : float
Return values
mixed —setConnectionTimeout()
Set connection timeout. Only has effect before we connect.
public
setConnectionTimeout(float $seconds) : mixed
Parameters
- $seconds : float
Tags
Return values
mixed —setFormatter()
Sets the formatter.
public
setFormatter(FormatterInterface $formatter) : self
Parameters
- $formatter : FormatterInterface
Return values
self —setLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(int|string $level) : self
Parameters
- $level : int|string
-
Level or level name
Return values
self —setPersistent()
Set socket connection to nbe persistent. It only has effect before the connection is initiated.
public
setPersistent(bool $persistent) : mixed
Parameters
- $persistent : bool
Return values
mixed —setTimeout()
Set write timeout. Only has effect before we connect.
public
setTimeout(float $seconds) : mixed
Parameters
- $seconds : float
Tags
Return values
mixed —setWritingTimeout()
Set writing timeout. Only has effect during connection in the writing cycle.
public
setWritingTimeout(float $seconds) : mixed
Parameters
- $seconds : float
-
0 for no timeout
Return values
mixed —write()
Handles a log record
public
write(array<string|int, mixed> $record) : void
Parameters
- $record : array<string|int, mixed>
Return values
void —fsockopen()
Wrapper to allow mocking
protected
fsockopen() : mixed
Return values
mixed —fwrite()
Wrapper to allow mocking
protected
fwrite(mixed $data) : mixed
Parameters
- $data : mixed
Return values
mixed —generateDataStream()
protected
generateDataStream(array<string|int, mixed> $record) : string
Parameters
- $record : array<string|int, mixed>
Return values
string —getDefaultFormatter()
Returns the default formatter to use with this handler
protected
getDefaultFormatter() : LineFormatter
Overloaded to remove empty context and extra arrays from the end of the log message.
Return values
LineFormatter —getResource()
protected
getResource() : resource|null
Return values
resource|null —pfsockopen()
Wrapper to allow mocking
protected
pfsockopen() : mixed
Return values
mixed —processRecord()
Processes a record.
protected
processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
- $record : array<string|int, mixed>
Return values
array<string|int, mixed> —streamGetMetadata()
Wrapper to allow mocking
protected
streamGetMetadata() : mixed
Return values
mixed —streamSetChunkSize()
Wrapper to allow mocking
protected
streamSetChunkSize() : mixed
Tags
Return values
mixed —streamSetTimeout()
Wrapper to allow mocking
protected
streamSetTimeout() : mixed
Tags
Return values
mixed —buildContent()
Builds the body of API call
private
buildContent(array<string|int, mixed> $record) : string
Parameters
- $record : array<string|int, mixed>
Return values
string —buildHeader()
Builds the header of the API Call
private
buildHeader(string $content) : string
Parameters
- $content : string
Return values
string —connect()
private
connect() : mixed
Return values
mixed —connectIfNotConnected()
private
connectIfNotConnected() : mixed
Return values
mixed —createSocketResource()
private
createSocketResource() : mixed
Return values
mixed —setSocketTimeout()
private
setSocketTimeout() : mixed
Return values
mixed —setStreamChunkSize()
private
setStreamChunkSize() : mixed
Return values
mixed —validateTimeout()
private
validateTimeout(mixed $value) : mixed
Parameters
- $value : mixed
Return values
mixed —writeToSocket()
private
writeToSocket(mixed $data) : mixed
Parameters
- $data : mixed
Return values
mixed —writingIsTimedOut()
private
writingIsTimedOut(mixed $sent) : mixed
Parameters
- $sent : mixed