add zap for default logger
This commit is contained in:
+10
-5
@@ -2,10 +2,10 @@ package utils
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/tarm/serial"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -15,13 +15,18 @@ var (
|
||||
stopbits byte
|
||||
port *serial.Port
|
||||
portOpened = false
|
||||
Log *zap.SugaredLogger
|
||||
)
|
||||
|
||||
const readDuration = 500 * time.Millisecond
|
||||
|
||||
// OpenPort open serial port
|
||||
func OpenPort(device string, baudrate int, bytesize byte, stopbits byte) error {
|
||||
log.Println("opening port device:", device, ", baudrate=", baudrate, ", bytesize=", bytesize, "stopbits=", stopbits)
|
||||
Log.Infow("opening serial device ",
|
||||
"port", device,
|
||||
"baudrate", baudrate,
|
||||
"bytesize", bytesize,
|
||||
"stopbits", stopbits)
|
||||
config := &serial.Config{Name: device,
|
||||
Baud: baudrate,
|
||||
Size: bytesize,
|
||||
@@ -30,10 +35,10 @@ func OpenPort(device string, baudrate int, bytesize byte, stopbits byte) error {
|
||||
var err error
|
||||
port, err = serial.OpenPort(config)
|
||||
if err != nil {
|
||||
log.Fatalln("error in open serial port ", err)
|
||||
Log.Fatal("error in open serial port ", err)
|
||||
return err
|
||||
}
|
||||
log.Println("opened port ", port)
|
||||
Log.Infof("%s opened", device)
|
||||
portOpened = true
|
||||
return nil
|
||||
}
|
||||
@@ -46,7 +51,7 @@ func ReadPort() ([]byte, int) {
|
||||
}
|
||||
count, err := port.Read(buffer)
|
||||
if err != nil && err != io.EOF {
|
||||
log.Println("error in read port ", err)
|
||||
Log.Error("error in read port ", err)
|
||||
//TODO: 3 time fail try to
|
||||
}
|
||||
return buffer, count
|
||||
|
||||
+7
-8
@@ -2,7 +2,6 @@ package utils
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log"
|
||||
"net"
|
||||
"time"
|
||||
)
|
||||
@@ -18,23 +17,23 @@ func Listen(address string) {
|
||||
var err error
|
||||
server, err = net.Listen(ServerType, address)
|
||||
if err != nil {
|
||||
log.Fatal("error in create server ", err)
|
||||
Log.Fatal("error in create server ", err)
|
||||
}
|
||||
defer server.Close()
|
||||
log.Println("listen on ", address)
|
||||
Log.Infof("listen on %s", address)
|
||||
for ServerRunning {
|
||||
conn, err := server.Accept()
|
||||
if err != nil {
|
||||
ServerRunning = false
|
||||
log.Fatalln("error in create connection ", err)
|
||||
Log.Error("error in create connection ", err)
|
||||
}
|
||||
if client == nil {
|
||||
client = conn
|
||||
ClientReady = false
|
||||
log.Println("client connected ", client.RemoteAddr())
|
||||
Log.Infof("client %s connected ", client.RemoteAddr())
|
||||
LoadUnprocessed()
|
||||
} else {
|
||||
log.Println("client already connected, close")
|
||||
Log.Info("client already connected, close")
|
||||
client.Close()
|
||||
client = nil
|
||||
conn.Close()
|
||||
@@ -49,7 +48,7 @@ func Listen(address string) {
|
||||
func WriteToClient(data string) error {
|
||||
_, err := client.Write([]byte(data + "\r\n"))
|
||||
if err != nil {
|
||||
log.Println("error in write data to client socket ", err)
|
||||
Log.Error("error in write data to client socket ", err)
|
||||
closeClient()
|
||||
}
|
||||
return err
|
||||
@@ -59,7 +58,7 @@ func connCheck() bool {
|
||||
_, err := client.Read(make([]byte, 0))
|
||||
if err != nil && err != io.EOF {
|
||||
// this connection is invalid
|
||||
log.Println("conn closed....", err)
|
||||
Log.Error("conn closed....", err)
|
||||
client = nil
|
||||
return false
|
||||
}
|
||||
|
||||
+15
-16
@@ -2,7 +2,6 @@ package utils
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
@@ -42,12 +41,12 @@ var (
|
||||
func getDb() *sql.DB {
|
||||
//log.Println("init database ", initTable)
|
||||
if initTable && !initialized {
|
||||
log.Println("remove database file", dbFile)
|
||||
Log.Info("remove database file ", dbFile)
|
||||
os.Remove(dbFile)
|
||||
}
|
||||
db, err := sql.Open(DbDriver, dbFile)
|
||||
if err != nil {
|
||||
log.Fatal("error in open database ", err)
|
||||
Log.Fatal("error in open database ", err)
|
||||
}
|
||||
return db
|
||||
}
|
||||
@@ -60,7 +59,7 @@ func InitDb(file string, init bool) error {
|
||||
defer db.Close()
|
||||
_, dbErr = db.Exec(TableCreate)
|
||||
checkDbErr(dbErr, "error in create table")
|
||||
log.Println("database ", db, " initialized")
|
||||
Log.Infof("database %s initialized", dbFile)
|
||||
initialized = true
|
||||
return nil
|
||||
}
|
||||
@@ -83,14 +82,14 @@ func InsertTelegram(teleString string) {
|
||||
checkDbErr(err, "error in insert telegram ")
|
||||
isWriting = false
|
||||
if insertSQL == InsertOld {
|
||||
log.Println("telegram processed ", id)
|
||||
Log.Infof("telegram [%n] processed ", id)
|
||||
} else {
|
||||
log.Println("telegram saved ", id)
|
||||
Log.Infof("telegram [%n] saved ", id)
|
||||
}
|
||||
}
|
||||
|
||||
func LoadUnprocessed() {
|
||||
log.Println("loading telegram")
|
||||
Log.Info("loading telegram")
|
||||
db := getDb()
|
||||
defer db.Close()
|
||||
for {
|
||||
@@ -105,17 +104,17 @@ func LoadUnprocessed() {
|
||||
}
|
||||
}
|
||||
ClientReady = true
|
||||
log.Println("client is ready for new telegram")
|
||||
Log.Info("client is ready for new telegram")
|
||||
}
|
||||
|
||||
func getTelegram(db *sql.DB) []telegram {
|
||||
var telegrams []telegram
|
||||
num := countTelegram()
|
||||
log.Println("unprocessed : ", num)
|
||||
Log.Infof("%n telegram unprocessed ", num)
|
||||
if num < 1 {
|
||||
return telegrams
|
||||
}
|
||||
log.Println("try to load unprocessed telegram ", num)
|
||||
Log.Info("try to load unprocessed telegram ")
|
||||
rows, err := db.Query(load)
|
||||
checkDbErr(err, "error in query telegram")
|
||||
defer rows.Close()
|
||||
@@ -138,9 +137,9 @@ func processed(db *sql.DB, t telegram) {
|
||||
result, err := stmt.Exec(t.id)
|
||||
checkDbErr(err, "error in update telegram status")
|
||||
id, _ := result.RowsAffected()
|
||||
log.Println(t.id, " telegram update : ", id > 0)
|
||||
Log.Infof("[%n] telegram update : %b", id, id > 0)
|
||||
isWriting = false
|
||||
log.Println("release lock")
|
||||
Log.Info("release lock")
|
||||
tx.Commit()
|
||||
}
|
||||
|
||||
@@ -157,20 +156,20 @@ func countTelegram() int64 {
|
||||
|
||||
func getWriteLock() {
|
||||
count := 0
|
||||
log.Println("write lock :", isWriting)
|
||||
Log.Infof("write lock : %b", isWriting)
|
||||
for isWriting && count < 10 {
|
||||
log.Println("waiting for write ")
|
||||
Log.Info("waiting for write ")
|
||||
time.Sleep(5 * time.Second)
|
||||
count++
|
||||
}
|
||||
if count >= 10 {
|
||||
log.Fatalln("database locked")
|
||||
Log.Fatal("database locked")
|
||||
}
|
||||
isWriting = true
|
||||
}
|
||||
|
||||
func checkDbErr(err error, msg string) {
|
||||
if err != nil {
|
||||
log.Fatalln(msg, err)
|
||||
Log.Fatal(msg, err)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"log"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
@@ -28,7 +27,7 @@ func check() {
|
||||
telegram := exp.FindString(string(buffer))
|
||||
|
||||
if len(telegram) > 0 {
|
||||
log.Println("telegram : ", telegram)
|
||||
Log.Infof("telegram : %s", telegram)
|
||||
buffer = nil
|
||||
InsertTelegram(telegram)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user