Comments (5)
Could you try adding this in the original PushoverHandler and see if it fixes it?
public function write(array $record)
{
parent::write($record);
$this->closeSocket();
}
This would close the socket after every call instead of keeping it open.
Another thing to try would be to add $this->setPersistent(true);
to the constructor of the PushoverHandler, that way maybe it would just reuse the same socket for the two handlers, but I'm not sure.
On a sidenote, doesn't the pushover api allow sending a message to more than one person at once? That would be a better option :)
from monolog.
I'll try those two suggestions tomorrow and let you know if they work out.
As for the pushover api itself, it only works for one user per push. I'll
see if I can submit a ticket to them to enable multiple users on a push, I
agree that would be a better option!
On 14 January 2013 18:24, Jordi Boggiano [email protected] wrote:
Could you try adding this in the original PushoverHandler and see if it
fixes it?public function write(array $record) { parent::write($record); $this->closeSocket(); }
This would close the socket after every call instead of keeping it open.
Another thing to try would be to add $this->setPersistent(true); to the
constructor of the PushoverHandler, that way maybe it would just reuse the
same socket for the two handlers, but I'm not sure.On a sidenote, doesn't the pushover api allow sending a message to more
than one person at once? That would be a better option :)—
Reply to this email directly or view it on GitHubhttps://github.com//issues/146#issuecomment-12229116.
from monolog.
Using the setPersistent() method doesn't work, as only the first message is received.
Not sure why, but probably to do with the SSL/ HTTPS connection (even though pushover.net does send a Connection: keep-alive
header).
Calling closeSocket() works, but only for the pushover.net application's owner because the PushOver API only allows messages to other users than the application's owner when connecting over SSL.
So, the fix for PushoverHandler.php:37 is:
parent::__construct('ssl://api.pushover.net:443', $level, $bubble);
instead of:
parent::__construct('api.pushover.net:80', $level, $bubble);
So the solution to our specific problem is to close the socket on every push while connecting over SSL.
Be aware that setPersistent() and SSL might be mutually exclusive...
from monolog.
OK thanks for trying. I think using ssl + closeSocket() is a better approach than curl because curl isn't always available (neither is openssl, but I think it's more common). If you would like to submit a pull request with this approach it'd be great.
If you get any news from their side about multi-user-push please update this issue.
from monolog.
Closing this, see #148
from monolog.
Related Issues (20)
- The file does not close after writing HOT 5
- How do I use includeStacktraces? HOT 1
- Support more flexible normalizer HOT 2
- cannot access private method HOT 7
- Add support for Elasticsearch with Bulk API and data stream HOT 1
- Could a new release be considered to remove the 0.7MB logo from the package ? HOT 1
- Uncaught Error: Class "Monolog\Logger" not found HOT 7
- User definable duplication for DeduplicationHandler
- Encounter problem in format function HOT 3
- DatetimeImmutable HOT 1
- [Discussion] Reset FingersCrossedHandler on stateful runtimes HOT 8
- Extending Processors - private properties HOT 1
- Incorrect logs are written in Monolog files intermittently HOT 1
- Truncated JsonFormatter logs at 8191 characters HOT 2
- Log Message is truncated HOT 1
- Log level not compliant with rfc5424 HOT 2
- DeduplicationHandler in a read only container HOT 4
- IntrospectionProcessorTests: $expect and $actual are the same object by reference.
- Php 8.3 compatibility issue HOT 5
- Adding postParams in ERROR notice for HTTP 405 code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from monolog.