add zap for default logger

This commit is contained in:
zhiqiang feng
2020-12-28 11:06:36 +08:00
parent f43412b235
commit 2cbfbdbbca
9 changed files with 81 additions and 45 deletions
+10 -5
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
}