1
resposta

[Dúvida] Logs de execução

Estou rodando o programa com o comando go run . e não vejo por exemplo o sql criado pelo ORM ou logs dos requests realizados para API, mas no vscode do instrutor é possível ver. Preciso configurar alguma coisa no vscode para ter acesso aos logs de execução da API?

1 resposta

Olá! Entendo que você está tendo dificuldades para visualizar os logs de execução da API no VSCode. Isso pode ser devido a algumas configurações que precisam ser feitas.

Primeiramente, é importante lembrar que os logs de execução da API não são gerados automaticamente pelo VSCode, mas sim pelo seu programa em Go. Portanto, você precisa garantir que o seu programa esteja configurado para gerar esses logs.

Em relação ao ORM, é possível que você precise habilitar o log de SQL. A maioria dos ORMs em Go tem uma opção para habilitar o log de SQL. Por exemplo, se você estiver usando o GORM, você pode habilitar o log de SQL da seguinte maneira:

db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{
  Logger: logger.Default.LogMode(logger.Info), // Habilita o log de SQL
})

Em relação aos logs dos requests realizados para a API, você pode usar um middleware para registrar cada request. Aqui está um exemplo de como você pode fazer isso:

func logRequestMiddleware(next http.Handler) http.Handler {
  return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    log.Println(r.Method, r.RequestURI) // Registra o método e a URI do request
    next.ServeHTTP(w, r)
  })
}

func main() {
  r := mux.NewRouter()
  r.Use(logRequestMiddleware) // Adiciona o middleware ao roteador
  // ...
}

Este middleware irá registrar o método e a URI de cada request no console.

Agora, para visualizar esses logs no VSCode, você precisa garantir que o console integrado do VSCode (o terminal) esteja aberto. Você pode abrir o terminal no VSCode pressionando Ctrl + ``. Quando você executa o seu programa em Go usando o comando go run .`, os logs devem aparecer no terminal.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software