Issue
I just set up a webhook in Slack to send logging to from my Laravel app.
When the log line executes, this error pops up:
RuntimeException
Curl error (code 3): <url> malformed
Source:
vendor\monolog\monolog\src\Monolog\Handler\Curl\Util.php
{
while ($retries--) {
if (curl_exec($ch) === false) {
$curlErrno = curl_errno($ch);
if (false === in_array($curlErrno, self::$retriableErrorCodes, true) || !$retries) {
$curlError = curl_error($ch);
if ($closeAfterDone) {
curl_close($ch);
}
throw new \RuntimeException(sprintf('Curl error (code %s): %s', $curlErrno, $curlError));
}
continue;
}
if ($closeAfterDone) {
curl_close($ch);
}
break;
}
}
The log line:
Log::channel('slack')->info('hi');
Configuration is like this:
'slack' => [
'driver' => 'slack',
'url' => env('https://hooks.slack.com/services/TC3S00PFC/BC411TH4M/YXAu...'),
'username' => 'app',
'emoji' => ':boom:',
'level' => 'info',
],
I tried with a different webhook url, username. Curl is activated in php. No other clue...
Solution
env() will return null if the string is not defined in .env so you're just setting url to null. Perhaps you meant to do something like
'url' => 'https://hooks.slack.com/services/TC3S00...'
Or
'url' => env(SLACK_URL, 'https://hooks.slack.com/services/TC3S00...')
(and have an entry in .env for SLACK_URL)
Answered By - markdwhite Answer Checked By - Katrina (WPSolving Volunteer)