Jump to content
fernandomullerjr

Logs do Laravel não são mostrados no stdout do Container no Docker logs

Recommended Posts


Oi Pessoal,
bom dia.

Estou tentando obter os logs do Laravel através do stdout do meu Container PHP, mas quando eu simulo um erro dentro do Container via php artisan ele não é mostrado no stdout do container:

``` 
fernando@c64d676157c2:/var/www$ php artisan command5
Command "command5" is not defined.  
fernando@c64d676157c2:/var/www$ 
```

O erro é escrito no log do Laravel:

``` 
fernando@c64d676157c2:/var/www$ tail storage/logs/laravel.log
"} 
[2022-02-22 12:43:52] dev.ERROR: Command "command5" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"command5\" is not defined. at /var/www/vendor/symfony/console/Application.php:644)
[stacktrace]
#0 /var/www/vendor/symfony/console/Application.php(228): Symfony\\Component\\Console\\Application->find('command5')
#1 /var/www/vendor/symfony/console/Application.php(140): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#2 /var/www/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#3 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#4 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#5 {main}
"} 
fernando@c64d676157c2:/var/www$ 
```


Mas o erro não é mostrado no stdout do Container PHP:

``` 
fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker logs -f travellist-app                                                               SIGINT(2) ↵  10345  09:44:30  
[22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
[22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
[22-Feb-2022 12:40:57] NOTICE: fpm is running, pid 1
[22-Feb-2022 12:40:57] NOTICE: ready to handle connections
```

Eu tentei diversas combinações de configurações do php.ini file, config/logging.php, LOG_CHANNEL  do ".env",  diversas opções de configuração do stack e muito mais.

Eu estou usando o PHP na versão 7.4.28.
laravel/framework v7.11.0
Composer version 2.2.6

**O projeto foi clonado do Github:**
https://github.com/do-community/travellist-laravel-demo


Todos os containers estão up e rodando conforme o esperado:

```
fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker container ls                                                                                     10344  09:40:58  
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                   NAMES
c64d676157c2   travellist     "docker-php-entrypoi…"   5 seconds ago   Up 3 seconds   9000/tcp                                travellist-app
2995a82595f7   mysql:5.7      "docker-entrypoint.s…"   5 seconds ago   Up 3 seconds   3306/tcp, 33060/tcp                     travellist-db
736ede87e337   nginx:alpine   "/docker-entrypoint.…"   5 seconds ago   Up 3 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp   travellist-nginx
 fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main                                                                                                           10345  09:41:01  
```


Como eu posso obter os logs do Laravel através do stdout do meu container no Docker?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kania
      Tenho a seguinte situação.
      Recebo vários JSONs podendo ou não ser multidimensional, preciso atualizar uma determinada chave deste JSON, o problema é que algumas chaves podem ser duplicadas, bem como seus respectivos valores. Como estou tentando criar uma função genérica para navegar em qualquer JSON e modificar a chave em si, com estas duplicidades de chaves, estou tendo dificuldades em dizer ao código qual é chave que devo alterar.
       
      Arquivo JSON Exemplo
       
      {       "CREDITOR": {         "TAX": {           "TAC": 0.7         },         "ENABLE": "true",         "PRODUCTION": {           "email": "email@dominio.com",           "senha": "12457895",           "BASE_URL": "https://domino.com"         },         "HOMOLOGATION": {           "email": "email@dominio.com",           "senha": "12457895",           "BASE_URL": "https://domino.com"         },         "TARGET_VALUES": 5000000       }     }  
      Converto o JSON para array
       
      $json = json_decode($json_string, true);
      Função que criei até aqui
       
         
      /**      * Encontra a chave correspondente dentro do JSON      *      * @param array $jsonArray - JSON a ser verificado      * @param string $keyFather - chave de entrada      * @param string $keyUpdate - chave que modificar      * @param string $valueUpdate - novo valor da chave      * @return string      *      */     public static function searchKeyJson(array $jsonArray, string $keyFather, string $keyUpdate = null, $valueUpdate = null)     {         foreach ($jsonArray as $key => $value) {             if ($key == $keyFather && $keyUpdate == null) {                 $jsonArray[$key] =  $valueUpdate;                 return $jsonArray;             }             if ($key == $keyFather && $keyUpdate != null) {                 $jsonArray[$keyFather][$keyUpdate] = $valueUpdate;                 return $jsonArray;             }             if (is_array($value)) {                 if (($result = self::searchKeyJson($value, $keyFather, $keyUpdate, $valueUpdate)) !== false) {                     if ($keyUpdate == null) {                         return $result;                     } else {                         return $result;                     }                 }             }         }         return false;     }
      Até modifico o valor, mais no final para salvar, ele não monta o JSON como original, ele caba ignorando a chave inicial no JSON de exmeplo "CREDITOR": {}
       
      Retorno da função (notem que esta forma do padrão da original)
       
      => [          "TAX" => [            "TAC" => 0.7,          ],          "ENABLE" => "true",          "PRODUCTION" => [            "email" => "teste",            "senha" => "12457895",            "BASE_URL" => "https://domino.com",          ],          "HOMOLOGATION" => [            "email" => "email@dominio.com",            "senha" => "12457895",            "BASE_URL" => "https://domino.com",          ],          "TARGET_VALUES" => 5000000,        ]  
      Se eu percorrer o array e tentar modificar a chave em questão, ele muda todas as as chaves que tiverem no JSON porque tem duplicidade.
      Como posso resolver isto com uma função global que sirva para qualquer padrão de JSON que eu tiver?
    • By Caio Vargas
      Fala pessoal tudo bem
      Estou criando um site para o cliente e ele me pediu para colocar um tradutor ao clicar nas bandeiras
      porem eu nao queria fazer uma pagina para cada traduçao eu queria fazer tipo usando o google Translate 
       
      alguem tem alguma sugetao de como posso fazer ou um exemplo 
      grato
    • By Kelven
      Bom dia pessoal tudo bem?
      Então, estou trabalhando em um site em php e preciso usar a api do facebook para obter o feed do instagram, porém a chave token é um conteúdo muito sensível, então decidi fazer em php para ela não ficar disponível do lado do cliente. Alguém sabe me dizer se é possível fazer isso? Porque eu pesquisando no google só achei maneiras de fazer em javascript.
    • By gersonab
      Boa noite, tenho pesquisado porém não encontrei, então vamos lá.
      tenho uma lista de itens ( documentos ) cadastrados no banco de dados e os seus respectivos arquivos em uma pasta, se eu preciso de um deles clico e faço o download deste, no entanto como fazer para fazer o download de vários ao selecionar com checkbox os que eu quero ?
      desculpem por não postar nenhum código, mas é que não estou sabendo como fazer os downloads de vários.
      Qual o procedimento correto ?
       
    • By Willian Simione
      Estou com duas tabelas onde  uma eu somo o km de cada carro, e outra que eu somo a quantidade de litragem abastcido, porem tem carro que não abastece na garagem e na hora d eeu mostrar  a media por carro abastecido ele acaba entrando no somatório e é onde da o erro Warning: Division by zero in, como faço pra fazer essa soma e excluir os carro que não estao com o abastecimento.Abaido deixo as tabelas
       
      Esse soma o KM , todos os carro tem KM
       $soma4 = $conectar->query("SELECT SUM(tkm) AS total FROM cad_km where carro='$carro'");
         $count4 = $soma4->fetchColumn();
      Esse soma a Litragem, porem o tem carro que não abastece, 
         $soma3 = $conectar->query("SELECT round(SUM(litros),0) AS total FROM cad_abastec where dtabastec BETWEEN '$data1' AND '$data2' and carro='$carro'");
         $count3 = $soma3->fetchColumn();
       

       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.