Можете подсказать как корректно настроить логирование чтобы писалось в лог сообщения в виде формата
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)
}
}
Суть в том что я подключаюсь на порт и слушаю все то что с него придет .