S
S
Sergey2017-08-23 15:31:19
go
Sergey, 2017-08-23 15:31:19

Question about logging?

Can you tell me how to correctly configure logging so that messages are written to the log in the form of a format
2017/08/23 18:28:43 start
and not as it is now

2017/08/23 18:28:43 s
2017/08/23 18:28:43 t
2017/08/23 18:28:43 a
2017/08/23 18:28:43 r
2017/08/23 18:28:43 t

The demon itself
/*
Демон слушает порт
 */
package main

import (
  "fmt"
  "net"
  "bufio"
  "time"
  "os"
  "log"
  //"unicode/utf8"
)

func init() {
  start := time.Now()
  log.Println("Демон Стартовал:",start)
}

func main() {
  // Bind на порт ОС
  listener, _ := net.Listen("tcp", ":5000")
  for {
    // ждём пока не придёт клиент
    conn, err := listener.Accept()
    if err != nil {
      fmt.Println("Can not connect!!")
      conn.Close()
      continue
    }
    fmt.Println("Connected")
    // создаём Reader для чтения информации из сокета
    bufReader := bufio.NewReader(conn)
    fmt.Println("Start reading")
    go func(conn net.Conn) {   ////делаю многопоточность чтобы не блокировать сокет
    defer conn.Close()
    for {
      // побайтово читаем
      rbyte, err := bufReader.ReadByte()
      if err != nil {
        fmt.Println("Can not read!", err)
        break
      }
      fmt.Print(string(rbyte))  /////вывожу в принт то что пришло.
      log.Print(string(rbyte))  /////вывожу в принт то что пришло.
      ///проверяю есть ли лог файл если нет создаю
      f, err := os.OpenFile("smpp.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
      if err != nil {
        log.Fatal(err)
      }
      defer f.Close()
      log.SetOutput(f)
    }
    }(conn)
  }
}

The bottom line is that I connect to the port and listen to everything that comes from it.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey, 2017-08-23
@Kle6800

https://systembash.com/a-simple-go-tcp-server-and-...
Here is a good example with a solution

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question