Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegohamaz1

Socket + Laravel + Docker

Recommended Posts

Pessoal,

 

 

Estou tentando salvar logs no www.logentries.com usando laravel 5.6 porem quando tento mandar me da o seguinte erro

 

[2018-06-14 16:35:01] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Error(code: 0): Call to undefined function Monolog\\Handler\\SyslogUdp\\socket_create() at /data/www/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php:26)
[stacktrace]
#0 /data/www/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php(41): Monolog\\Handler\\SyslogUdp\\UdpSocket->__construct('my.logentries.i...', '10000')
#1 [internal function]: Monolog\\Handler\\SyslogUdpHandler->__construct('my.logentries.i...', '10000', 8, 100, true, 'php')
#2 /data/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(800): ReflectionClass->newInstanceArgs(Array)
#3 /data/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(646): Illuminate\\Container\\Container->build('Monolog\\\\Handler...')
#4 /data/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(601): Illuminate\\Container\\Container->resolve('Monolog\\\\Handler...', Array)
#5 /data/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(734): Illuminate\\Container\\Container->make('Monolog\\\\Handler...', Array)
#6 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(342): Illuminate\\Foundation\\Application->make('Monolog\\\\Handler...', Array)
#7 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(191): Illuminate\\Log\\LogManager->createMonologDriver(Array)
#8 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(115): Illuminate\\Log\\LogManager->resolve('logentries')
#9 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(103): Illuminate\\Log\\LogManager->get('logentries')
#10 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(92): Illuminate\\Log\\LogManager->driver('logentries')
#11 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(230): Illuminate\\Log\\LogManager->channel('logentries')
#12 [internal function]: Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}('logentries', 0)
#13 /data/www/vendor/laravel/framework/src/Illuminate/Support/Collection.php(932): array_map(Object(Closure), Array, Array)
#14 /data/www/vendor/laravel/framework/src/Illuminate/Support/Collection.php(1027): Illuminate\\Support\\Collection->map(Object(Closure))
#15 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(231): Illuminate\\Support\\Collection->flatMap(Object(Closure))
#16 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(191): Illuminate\\Log\\LogManager->createStackDriver(Array)
#17 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(115): Illuminate\\Log\\LogManager->resolve('stack')
#18 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(103): Illuminate\\Log\\LogManager->get('stack')
#19 /data/www/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(583): Illuminate\\Log\\LogManager->driver()
#20 /data/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\\Log\\LogManager->debug('Novo alerta !!!...')
#21 /data/www/app/Http/Middleware/AfterMiddleware.php(51): Illuminate\\Support\\Facades\\Facade::__callStatic('debug', Array)
#22 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\AfterMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /data/www/app/Http/Middleware/AppMiddleware.php(70): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#25 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\AppMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /data/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(67): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#28 /data/www/app/Http/Middleware/VerifyCsrfToken.php(56): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /data/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#32 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /data/www/app/Http/Middleware/BeforeMiddleware.php(50): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#35 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): App\\Http\\Middleware\\BeforeMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /data/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#38 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /data/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#41 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /data/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#44 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /data/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(51): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#47 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#49 /data/www/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(35): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#50 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Barryvdh\\Cors\\HandlePreflight->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /data/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /data/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#53 /data/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#54 /data/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#55 /data/www/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#56 {main}
"} 

Meu arquivo de log esta assim

 

<?php
use Monolog\Handler\StreamHandler;

return [
    'default' => env('LOG_CHANNEL', 'stack'),

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['logentries' , 'slack'],
        ],

        'logentries' => [
            'driver'  => 'monolog',
            'handler' => Monolog\Handler\SyslogUdpHandler::class,
            'handler_with' => [
                'token' => env('LOGENTRIES_TOKEN'),
                'port' => '10000',
                'host' => 'my.logentries.internal.datahubhost.company.com',
                'useSSL ' => 'true',
            ],
        ],

        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],
        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 7,
        ],
        'custom' => [
            'driver' => 'custom',
            'via' => App\Logging\LogentriesLogger::class,
            'level' => 'debug',
        ],
        'stderr' => [
            'driver' => 'monolog',
            'handler' => StreamHandler::class,
            'with' => [
                'stream' => 'php://stderr',
            ],
        ],
        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],
        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
    ],
];

As extensoes de socket estao ativadas dentro e fora do docker , alguem me ajuda please? 

 

nao sei mais o que fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por belann
      Olá!
       
      Estou tentando criar um projeto laravel e está dando o seguinte erro 
      curl error 60 while downloading https://getcomposer.org/versions: SSL certificate problem: unable to get local issu
        er certificate
      Já tentei atualizar o composer, mas dá o mesmo erro acima.
    • Por Frank K Hosaka
      Ontem de madrugada encontrei essa dica javascript - How do I get the value of the selected item in a datalist using pure JS? - Stack Overflow e com ele eu consegui terminar o meu código de paginação. O Laravel já tem um código pronto para ser usado, mas ele é funcional para uma tabela com 150 itens, o meu tem mais de 1500 itens, isso iria entupir a apresentação com um monte de guias. O meu só tem duas guias, o próximo e o anterior. E só lista 10 itens de cada vez.
       
      O mais bacana dessa madrugada é que eu aprendi a usar um pouco mais a  função console.log( ) do JavaScript, procurei exaustivamente uma maneira de obter o número do item da option do datalist, mas foi em vão. A dica que eu encontrei na internet é muito engenhosa, o rapaz encontrou no JavaScript uma função que procura um atributo da option que foi selecionada. Como o option não tem a opção de index, ele sugere criar uma.

      No Controller eu havia pedido para o Laravel trabalhar com os produtos em ordem alfabética, ou seja, a própria consulta já é um index. O único problema foi encontrar um jeito de colocar o index da consulta no option do datalist.

      Com quase tudo resolvido, o problema é fazer o loop do JavaScript funcionar. Graças ao fórum iMasters ou Script Brasil eu consegui uma ajuda. Eu recebi a sugestão de garantir que uma das variáveis dentro do loop do JavaScript seja do tipo inteiro. Eu achei a sugestão um absurdo, mas depois eu lembrei que o mundo dos computadores é bem diferente das abstrações que a gente inventou como os números inteiros e os números reais.
       
      Finalmente, aqui está o código. Ele foi escrito em Blade PHP, não é muito diferente do PHP: a diferença é que ele usa @ ao invés do tradicional <?php >. Nesse projeto pretendo trabalhar com o Bootstrap. Já o class="w600" não é Bootstrap, e sim uma gambiarra que eu fiz onde .w600 {width=600px}. Na imagem que eu deixei, dá para ver que eu ajuntei o nome do produto junto com o código dele, a minha ideia é para o usuário procurar o produto tanto pelo nome bem como pelo código. O datalist é muito bacana, pena que não dá para alterar a fonte e nem fazer a busca semelhante, ou seja, se você digitar "limão", ele não lista se foi cadastrado "limao".

       
      @include('menu') <script> var icontrole document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function controle(comando){ if(comando=="proximo"){ if(icontrole<produtos.options.length){icontrole+=10;show(icontrole)}} if(comando=="anterior"){ if(icontrole>9){icontrole-=10;show(icontrole)}}} function lista(input){ option=Array.prototype.find.call(produto.list.options,function(option){ return option.value === input}) show(option.getAttribute("id"))} function show(j){ j=parseInt(j) divshow.innerHTML="" for(i=j;i<=j+9;i++){ divshow.innerHTML+=produtos.options[i].value+"<br>"} produto.value="" icontrole=j} </script> <div class="w600 m-auto"> <input list=produtos autofocus id=produto onchange=lista(value)> <datalist id=produtos> @foreach($prod as $key=> $pr) <option id={{$key}}>{{$pr->prod}} [{{$pr->codprod}}] @endforeach </datalist></div> <div class="w600 m-auto" id=divshow></div> @if(empty($show)) <script>show(0)</script> @php $show="já começou" @endphp @endif <div class="w600 m-auto"> <input type=submit value=Anterior onclick="controle('anterior')"> <input type=submit value=Próximo onclick="controle('proximo')"> </div>  

    • Por ckcesar
      Pesoal  eu instalei o Laravel em meu pc, mais ao rodar estou enfrentando um erro de permissão. 
      Eu segui os passas da documentação => https://laravel.com/docs/9.x#getting-started-on-windows
       
      Ao entrar no localhost ele retorna esse erro. A lembrando que no docker ele inicial certinho o mysql roda ok, é somente essa pasta storege. Estou tentando resolver mais tudo que eu faço não funfa, estou dando permissão nas pastas, já mudei o arquivo .env e nada.
       
      The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/html/storage/logs/laravel.log" 
       

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.