Comments (2)
Just encountered same issue. Try...catch isn't working.
I have both GelfHangler sending logs to Graylog and a StreamHandler sending logs to stdout. I took down the graylog server to simulate an outage. When graylog went down, my app also went down throwing RuntimeException error which I tried to catch but for some reason it is not working.
$this->logger = new \Monolog\Logger('app');
if ($this->getLogLevel() === "debug") {
$logLevel = LogLevel::DEBUG;
} else {
$logLevel = LogLevel::INFO;
}
$this->logger->pushProcessor(new UidProcessor(15));
if ($this->isDevelopment()) {
$this->logger->pushHandler(new StreamHandler('php://stdout', $logLevel));
} else {
$this->logger->pushProcessor(function ($record) {
if (!empty($_SESSION['firstName'])) {
$record['extra']['loggedinUser'] = $_SESSION['firstName'];
}
$date = new \DateTime();
$record['extra']['logTime'] = $date->format("Y-m-d H:i:s.u");
$record['extra']['token'] = $_SESSION['token'];
return $record;
});
$this->logger->pushProcessor(new WebProcessor());
}
$gelfHandler = new GelfHandler(new Publisher(new UdpTransport($this->graylogDomain, $this->graylogPort)), $logLevel);
$gelfHandler->setFormatter(new GelfMessageFormatter('app', 'ext_', 'ctx_'));
$this->logger->pushHandler($gelfHandler);
from monolog.
You should wrap the unreliable handlers into a WhatFailureGroupHandler so that errors are ignored if they fail, and they don't bring the whole app down. This has the downside however that if they are misconfigured you'll never really notice though (except by the fact that nothing gets logged).
from monolog.
Related Issues (20)
- Monolog\Level (enum) against Constants HOT 6
- Uncaught Error: Class "Monolog\Logger" not found HOT 3
- Fatal error: method_exists(): The script tried to execute a method or access a property of an incomplete object. HOT 2
- Is it possible to indent the stacktrace?
- How should we catch exceptions with the SlackWebhookHandler cURL requests? HOT 2
- LogglyHandler - incorrect records comparison. HOT 2
- PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 102863464 bytes) *** monolog/src/Monolog/Formatter/HtmlFormatter.php on line 64 HOT 1
- OpenObserve Handler HOT 1
- Brevo mail api handler HOT 2
- Site Lacks a Favicon!!
- Rotating logs based on cron syntax HOT 3
- PHPDoc out of sync on StreamHandler HOT 1
- Is it possibile to log to the stream that is completely outside of the application environment? HOT 5
- Issue with Logging to stdout in Laravel 10.21 using Monolog v3 EXCEPTION#Cannot log request: fwrite(): Write of 378 bytes failed with errno=32 Broken pipe HOT 37
- 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
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.