dongyo1818
2018-08-07 02:47
浏览 83
已采纳

Laravel Logging to Slack Workbook导致“卷曲错误(代码3):<url>格式错误”

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...

图片转代码服务由CSDN问答提供 功能建议

我只是在Slack中设置了一个webhook,用于从我的Laravel应用程序发送日志。 \ n

当日志行执行时,弹出此错误:

  RuntimeException 
Curl error(code 3):&lt; url&gt; 畸形
   
 
 

来源:

 <代码>供应商\独白\独白\ SRC \独白\处理程序\卷曲\的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)  ; 
} 
 
抛出new \ RuntimeException(sprintf('Curl error(code%s):%s',$ curlErrno,$ curlError)); 
} 
 
 continue; 
} 
  
 if($ closeAfterDone){
 curl_close($ ch); 
} 
 break; 
} 
} 
   
 
 

日志行:

 <代码>日志::信道( '松弛') - &GT;信息( '喜'); 
   
 
 

配置是这样的:

 'slack'=&gt;  [
'driver'=&gt;  'slack',
'url'=&gt;  env('https://hooks.slack.com/services/TC3S00PFC/BC411TH4M/YXAu ...'),
'username'=&gt;  'app',
'表情符号'=&gt;  ':boom:',
'level'=&gt;  'info',
],
   
 
 

我尝试使用其他webhook网址,用户名。 在php中激活了。 没有其他线索... < / p>

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doushai4890 2018-08-07 02:51
    已采纳

    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)

    已采纳该答案
    评论
    解决 无用
    打赏 举报