@Kle6800

Вопрос про логирование?

Можете подсказать как корректно настроить логирование чтобы писалось в лог сообщения в виде формата

2017/08/23 18:28:43 start

а не как сейчас
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


Сам демон
/*
Демон слушает порт
 */
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)
	}
}

Суть в том что я подключаюсь на порт и слушаю все то что с него придет .
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
@Kle6800 Автор вопроса
https://systembash.com/a-simple-go-tcp-server-and-...
Вот хороший пример с решением
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы