Commit 4b45bdc0 authored by szh's avatar szh

引用chain33log模块 去除自带go log,日志自动清理

parent b1f3d5b1
...@@ -19,6 +19,27 @@ LogSaveName = log ...@@ -19,6 +19,27 @@ LogSaveName = log
LogFileExt = log LogFileExt = log
TimeFormat = 20060102 TimeFormat = 20060102
[log]
# 日志级别,支持debug(dbug)/info/warn/error(eror)/crit
loglevel = "debug"
logConsoleLevel = "info"
# 日志文件名,可带目录,所有生成的日志文件都放到此目录下
logFile = "logs/chain33-pai.log"
# 单个日志文件的最大值(单位:兆)
maxFileSize = 100
# 最多保存的历史日志文件个数
maxBackups = 10
# 最多保存的历史日志消息(单位:天)
maxAge = 10
# 日志文件名是否使用本地事件(否则使用UTC时间)l
localTime = true
# 历史日志文件是否压缩(压缩格式为gz)
compress = true
# 是否打印调用源文件和行号
callerFile = false
# 是否打印调用方法
callerFunction = false
[server] [server]
#debug or release #debug or release
RunMode = debug RunMode = debug
......
...@@ -188,6 +188,7 @@ gopkg.in/go-playground/validator.v8 v8.0.0-20170730050235-5f1438d3fca6/go.mod h1 ...@@ -188,6 +188,7 @@ gopkg.in/go-playground/validator.v8 v8.0.0-20170730050235-5f1438d3fca6/go.mod h1
gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ= gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ=
gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
gopkg.in/go-playground/webhooks.v5 v5.2.0/go.mod h1:LZbya/qLVdbqDR1aKrGuWV6qbia2zCYSR5dpom2SInQ= gopkg.in/go-playground/webhooks.v5 v5.2.0/go.mod h1:LZbya/qLVdbqDR1aKrGuWV6qbia2zCYSR5dpom2SInQ=
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3 h1:AFxeG48hTWHhDTQDk/m2gorfVHUEa9vo3tp3D7TzwjI=
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk= gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk=
......
...@@ -2,27 +2,31 @@ package main ...@@ -2,27 +2,31 @@ package main
import ( import (
"chain33-pai/pkg/app" "chain33-pai/pkg/app"
"chain33-pai/pkg/logging"
"chain33-pai/pkg/setting" "chain33-pai/pkg/setting"
"chain33-pai/pkg/util" "chain33-pai/pkg/util"
"chain33-pai/routers" "chain33-pai/routers"
"chain33-pai/service/pai_service" "chain33-pai/service/pai_service"
"fmt" "fmt"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"log" //"log"
"net" "net"
"net/http" "net/http"
"time" "time"
clog "github.com/33cn/chain33/common/log"
log "github.com/33cn/chain33/common/log/log15"
) )
func init() { func init() {
setting.Setup() setting.Setup()
//models.Setup() //models.Setup()
logging.Setup() //logging.Setup()
//gredis.Setup() //gredis.Setup()
clog.SetFileLog(setting.LogSetting)
util.Setup() util.Setup()
} }
var tlog = log.New("main", "main.go")
// @title Golang Gin API // @title Golang Gin API
// @version 1.0 // @version 1.0
// @description An example of gin // @description An example of gin
...@@ -47,7 +51,7 @@ func main() { ...@@ -47,7 +51,7 @@ func main() {
MaxHeaderBytes: maxHeaderBytes, MaxHeaderBytes: maxHeaderBytes,
} }
log.Printf("[info] start http server listening %s", endPoint) tlog.Info("[info] start http server listening %s", endPoint)
server.ListenAndServe() server.ListenAndServe()
select {} select {}
...@@ -77,7 +81,7 @@ func broadcast() { ...@@ -77,7 +81,7 @@ func broadcast() {
//ip 会变化 //ip 会变化
ip,err := util.GetLocalIP() ip,err := util.GetLocalIP()
if err != nil { if err != nil {
log.Fatal(err) tlog.Error("broadcast",err)
} }
// 这里设置发送者的IP地址,自己查看一下自己的IP自行设定 // 这里设置发送者的IP地址,自己查看一下自己的IP自行设定
laddr := net.UDPAddr{ laddr := net.UDPAddr{
...@@ -92,7 +96,7 @@ func broadcast() { ...@@ -92,7 +96,7 @@ func broadcast() {
} }
conn, err := net.DialUDP("udp", &laddr, &raddr) conn, err := net.DialUDP("udp", &laddr, &raddr)
if err != nil { if err != nil {
log.Println(err.Error()) tlog.Error("broadcast",err)
} }
for { for {
...@@ -100,7 +104,7 @@ func broadcast() { ...@@ -100,7 +104,7 @@ func broadcast() {
if err != nil{ if err != nil{
panic(err) panic(err)
} }
log.Println(send) tlog.Info("broadcast",send)
time.Sleep(time.Second*5) time.Sleep(time.Second*5)
} }
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"os/exec" "os/exec"
"chain33-pai/pkg/chain33" "chain33-pai/pkg/chain33"
"github.com/go-ini/ini" "github.com/go-ini/ini"
"github.com/33cn/chain33/types"
) )
...@@ -83,6 +84,9 @@ type Chain33_pai struct { ...@@ -83,6 +84,9 @@ type Chain33_pai struct {
} }
var Chain33Pai=&Chain33_pai{} var Chain33Pai=&Chain33_pai{}
var LogSetting=&types.Log{}
var cfg *ini.File var cfg *ini.File
// Setup initialize the configuration instance // Setup initialize the configuration instance
...@@ -98,6 +102,7 @@ func Setup() { ...@@ -98,6 +102,7 @@ func Setup() {
mapTo("chain33-pai",Chain33Pai) mapTo("chain33-pai",Chain33Pai)
mapTo("bityuan",BityuanSetting) mapTo("bityuan",BityuanSetting)
mapTo("database", DatabaseSetting) mapTo("database", DatabaseSetting)
mapTo("log",LogSetting)
AppSetting.ImageMaxSize = AppSetting.ImageMaxSize * 1024 * 1024 AppSetting.ImageMaxSize = AppSetting.ImageMaxSize * 1024 * 1024
ServerSetting.ReadTimeout = ServerSetting.ReadTimeout * time.Second ServerSetting.ReadTimeout = ServerSetting.ReadTimeout * time.Second
ServerSetting.WriteTimeout = ServerSetting.WriteTimeout * time.Second ServerSetting.WriteTimeout = ServerSetting.WriteTimeout * time.Second
......
...@@ -23,6 +23,7 @@ func GetLocalIP() (ipv4 *net.IPNet, err error) { ...@@ -23,6 +23,7 @@ func GetLocalIP() (ipv4 *net.IPNet, err error) {
ipNet *net.IPNet // IP地址 ipNet *net.IPNet // IP地址
isIpNet bool isIpNet bool
) )
// 获取所有网卡 // 获取所有网卡
if addrs, err = net.InterfaceAddrs(); err != nil { if addrs, err = net.InterfaceAddrs(); err != nil {
return return
...@@ -30,9 +31,9 @@ func GetLocalIP() (ipv4 *net.IPNet, err error) { ...@@ -30,9 +31,9 @@ func GetLocalIP() (ipv4 *net.IPNet, err error) {
// 取第一个非lo的网卡IP // 取第一个非lo的网卡IP
for _, addr = range addrs { for _, addr = range addrs {
// 这个网络地址是IP地址: ipv4, ipv6 // 这个网络地址是IP地址: ipv4, ipv6
if ipNet, isIpNet = addr.(*net.IPNet); isIpNet && !ipNet.IP.IsLoopback() { if ipNet, isIpNet = addr.(*net.IPNet); isIpNet && !ipNet.IP.IsLoopback(){
// 跳过IPV6 // 跳过IPV6
if ipNet.IP.To4() != nil { if ipNet.IP.To4() != nil{
ipv4 = ipNet// 192.168.1.1 ipv4 = ipNet// 192.168.1.1
return return
} }
......
...@@ -2,7 +2,6 @@ package v1 ...@@ -2,7 +2,6 @@ package v1
import ( import (
"fmt" "fmt"
"log"
"os" "os"
"path" "path"
"os/exec" "os/exec"
...@@ -11,11 +10,9 @@ import ( ...@@ -11,11 +10,9 @@ import (
"chain33-pai/pkg/app" "chain33-pai/pkg/app"
"chain33-pai/pkg/setting" "chain33-pai/pkg/setting"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"chain33-pai/service/pai_service" "chain33-pai/service/pai_service"
"bytes" "bytes"
) )
var flag bool//判断是否正在更新 var flag bool//判断是否正在更新
func ResetWallet(c *gin.Context) { func ResetWallet(c *gin.Context) {
...@@ -26,7 +23,7 @@ func ResetWallet(c *gin.Context) { ...@@ -26,7 +23,7 @@ func ResetWallet(c *gin.Context) {
} }
app.BityuanFlag = true app.BityuanFlag = true
if app.NodeError!=nil{ if app.NodeError!=nil{
log.Println(app.NodeError.Error()) tlog.Error(app.NodeError.Error())
appG.Response(http.StatusOK, e.NODE_ERROR,"node internal error,could not start node") appG.Response(http.StatusOK, e.NODE_ERROR,"node internal error,could not start node")
app.BityuanFlag = false app.BityuanFlag = false
return return
...@@ -35,14 +32,14 @@ func ResetWallet(c *gin.Context) { ...@@ -35,14 +32,14 @@ func ResetWallet(c *gin.Context) {
err:=cmd.Start() err:=cmd.Start()
if err!=nil{ if err!=nil{
appG.Response(http.StatusOK, e.ENV_ERROR, "fail to reset wallet") appG.Response(http.StatusOK, e.ENV_ERROR, "fail to reset wallet")
log.Fatalln(err) tlog.Error("ResetWallet",err)
app.BityuanFlag = false app.BityuanFlag = false
return return
} }
err=os.RemoveAll(fmt.Sprintf("%s/wallet",path.Dir(app.Bityuan.Path))) err=os.RemoveAll(fmt.Sprintf("%s/wallet",path.Dir(app.Bityuan.Path)))
if err!=nil{ if err!=nil{
appG.Response(http.StatusOK, e.NODE_ERROR, "fail to reset wallet") appG.Response(http.StatusOK, e.NODE_ERROR, "fail to remove wallet")
log.Fatalln(err) tlog.Error("ResetWallet",err)
app.BityuanFlag = false app.BityuanFlag = false
return return
} }
...@@ -50,7 +47,7 @@ func ResetWallet(c *gin.Context) { ...@@ -50,7 +47,7 @@ func ResetWallet(c *gin.Context) {
err=app.StartProcess(setting.Chain33Pai.Auto) err=app.StartProcess(setting.Chain33Pai.Auto)
if err!=nil{ if err!=nil{
appG.Response(http.StatusOK, e.NODE_ERROR,"fail to restart node") appG.Response(http.StatusOK, e.NODE_ERROR,"fail to restart node")
log.Fatalln(err) tlog.Error("ResetWallet",err)
app.BityuanFlag = false app.BityuanFlag = false
return return
} }
...@@ -115,7 +112,7 @@ func UpdateNode(c *gin.Context){ ...@@ -115,7 +112,7 @@ func UpdateNode(c *gin.Context){
tar := exec.Command("tar","-xvf",name) tar := exec.Command("tar","-xvf",name)
err = tar.Start() err = tar.Start()
if err != nil { if err != nil {
log.Println("tar",err) tlog.Error("tar",err)
appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err) appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -123,7 +120,7 @@ func UpdateNode(c *gin.Context){ ...@@ -123,7 +120,7 @@ func UpdateNode(c *gin.Context){
} }
err = tar.Wait() err = tar.Wait()
if err != nil { if err != nil {
log.Println("tar",err) tlog.Error("tar",err)
appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err) appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -133,7 +130,7 @@ func UpdateNode(c *gin.Context){ ...@@ -133,7 +130,7 @@ func UpdateNode(c *gin.Context){
bak := exec.Command("cp",absPath+setting.BityuanSetting.Name,absPath+setting.BityuanSetting.Name+".bak") bak := exec.Command("cp",absPath+setting.BityuanSetting.Name,absPath+setting.BityuanSetting.Name+".bak")
err = bak.Start() err = bak.Start()
if err != nil { if err != nil {
log.Println("bak",err) tlog.Error("bak",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -141,7 +138,7 @@ func UpdateNode(c *gin.Context){ ...@@ -141,7 +138,7 @@ func UpdateNode(c *gin.Context){
} }
err = bak.Wait() err = bak.Wait()
if err != nil { if err != nil {
log.Println("bak",err) tlog.Error("bak",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -151,7 +148,7 @@ func UpdateNode(c *gin.Context){ ...@@ -151,7 +148,7 @@ func UpdateNode(c *gin.Context){
bakconf := exec.Command("cp",absPath+"bityuan.toml",absPath+"bityuan.toml.bak") bakconf := exec.Command("cp",absPath+"bityuan.toml",absPath+"bityuan.toml.bak")
err = bakconf.Start() err = bakconf.Start()
if err != nil { if err != nil {
log.Println("bakconf",err) tlog.Error("bakconf",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -159,7 +156,7 @@ func UpdateNode(c *gin.Context){ ...@@ -159,7 +156,7 @@ func UpdateNode(c *gin.Context){
} }
err = bakconf.Wait() err = bakconf.Wait()
if err != nil { if err != nil {
log.Println("bakconf",err) tlog.Error("bakconf",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -173,8 +170,8 @@ func UpdateNode(c *gin.Context){ ...@@ -173,8 +170,8 @@ func UpdateNode(c *gin.Context){
return return
} }
//替换原执行文件 //替换原执行文件
log.Println(setting.BityuanSetting.Name+"_"+latestVersion) tlog.Error(setting.BityuanSetting.Name+"_"+latestVersion)
log.Println(absPath) tlog.Error(absPath)
err = os.Chmod(pwd+setting.BityuanSetting.Name+"_"+latestVersion+"/"+setting.BityuanSetting.Name,0755) err = os.Chmod(pwd+setting.BityuanSetting.Name+"_"+latestVersion+"/"+setting.BityuanSetting.Name,0755)
if err != nil { if err != nil {
appG.Response(http.StatusOK, e.ERROR, err) appG.Response(http.StatusOK, e.ERROR, err)
...@@ -194,7 +191,7 @@ func UpdateNode(c *gin.Context){ ...@@ -194,7 +191,7 @@ func UpdateNode(c *gin.Context){
mv.Stderr = mverr mv.Stderr = mverr
err = mv.Start() err = mv.Start()
if err != nil { if err != nil {
log.Println("mv",err) tlog.Error("mv",err)
appG.Response(http.StatusOK, e.MV_ERROR, err) appG.Response(http.StatusOK, e.MV_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -202,7 +199,7 @@ func UpdateNode(c *gin.Context){ ...@@ -202,7 +199,7 @@ func UpdateNode(c *gin.Context){
} }
err = mv.Wait() err = mv.Wait()
if err != nil { if err != nil {
log.Println("stderr:",mverr.String()) tlog.Error("stderr:",mverr.String())
appG.Response(http.StatusOK, e.MV_ERROR, mverr.String()) appG.Response(http.StatusOK, e.MV_ERROR, mverr.String())
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -213,7 +210,7 @@ func UpdateNode(c *gin.Context){ ...@@ -213,7 +210,7 @@ func UpdateNode(c *gin.Context){
mv2.Stderr = mverr2 mv2.Stderr = mverr2
err = mv2.Start() err = mv2.Start()
if err != nil { if err != nil {
log.Println("mv2",err) tlog.Error("mv2",err)
appG.Response(http.StatusOK, e.MV_ERROR, err) appG.Response(http.StatusOK, e.MV_ERROR, err)
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -221,7 +218,7 @@ func UpdateNode(c *gin.Context){ ...@@ -221,7 +218,7 @@ func UpdateNode(c *gin.Context){
} }
err = mv2.Wait() err = mv2.Wait()
if err != nil { if err != nil {
log.Println("stderr2:",mverr2.String()) tlog.Error("stderr2:",mverr2.String())
appG.Response(http.StatusOK, e.MV_ERROR, mverr2.String()) appG.Response(http.StatusOK, e.MV_ERROR, mverr2.String())
app.UpdateInfo.Flag = true app.UpdateInfo.Flag = true
app.BityuanFlag = false app.BityuanFlag = false
...@@ -230,7 +227,7 @@ func UpdateNode(c *gin.Context){ ...@@ -230,7 +227,7 @@ func UpdateNode(c *gin.Context){
//mv2 := exec.Command("mv",setting.BityuanSetting.Name+"_"+latestVersion+"/"+"bityuan.toml",".") //mv2 := exec.Command("mv",setting.BityuanSetting.Name+"_"+latestVersion+"/"+"bityuan.toml",".")
//err = mv2.Start() //err = mv2.Start()
//if err != nil { //if err != nil {
// log.Println("mv2",err) // tlog.Error("mv2",err)
// appG.Response(http.StatusOK, e.MV_ERROR, err) // appG.Response(http.StatusOK, e.MV_ERROR, err)
// app.UpdateInfo.Flag = true // app.UpdateInfo.Flag = true
// app.BityuanFlag = false // app.BityuanFlag = false
...@@ -238,7 +235,7 @@ func UpdateNode(c *gin.Context){ ...@@ -238,7 +235,7 @@ func UpdateNode(c *gin.Context){
//} //}
//err = mv2.Wait() //err = mv2.Wait()
//if err != nil { //if err != nil {
// log.Println("mv2",err) // tlog.Error("mv2",err)
// appG.Response(http.StatusOK, e.MV_ERROR, err) // appG.Response(http.StatusOK, e.MV_ERROR, err)
// app.UpdateInfo.Flag = true // app.UpdateInfo.Flag = true
// app.BityuanFlag = false // app.BityuanFlag = false
......
...@@ -8,10 +8,12 @@ import ( ...@@ -8,10 +8,12 @@ import (
"chain33-pai/service/pai_service" "chain33-pai/service/pai_service"
"chain33-pai/pkg/setting" "chain33-pai/pkg/setting"
"os/exec" "os/exec"
"log" log "github.com/33cn/chain33/common/log/log15"
"chain33-pai/pkg/util" "chain33-pai/pkg/util"
) )
var tlog = log.New("api", "v1")
func GetDevdetail(c *gin.Context) { func GetDevdetail(c *gin.Context) {
appG := app.Gin{C: c} appG := app.Gin{C: c}
var pai pai_service.Pai var pai pai_service.Pai
...@@ -104,14 +106,14 @@ func UpdatePai(c *gin.Context) { ...@@ -104,14 +106,14 @@ func UpdatePai(c *gin.Context) {
tar := exec.Command("tar","-xvf",name) tar := exec.Command("tar","-xvf",name)
err = tar.Start() err = tar.Start()
if err != nil { if err != nil {
log.Println("tar",err) tlog.Error("tar",err)
appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err) appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
} }
err = tar.Wait() err = tar.Wait()
if err != nil { if err != nil {
log.Println("tar",err) tlog.Error("tar",err)
appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err) appG.Response(http.StatusOK, e.TAR_XVF_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
...@@ -120,14 +122,14 @@ func UpdatePai(c *gin.Context) { ...@@ -120,14 +122,14 @@ func UpdatePai(c *gin.Context) {
bak := exec.Command("cp",setting.Chain33Pai.Name,setting.Chain33Pai.Name+".bak") bak := exec.Command("cp",setting.Chain33Pai.Name,setting.Chain33Pai.Name+".bak")
err = bak.Start() err = bak.Start()
if err != nil { if err != nil {
log.Println("bak",err) tlog.Error("bak",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
} }
err = bak.Wait() err = bak.Wait()
if err != nil { if err != nil {
log.Println("bak",err) tlog.Error("bak",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
...@@ -136,14 +138,14 @@ func UpdatePai(c *gin.Context) { ...@@ -136,14 +138,14 @@ func UpdatePai(c *gin.Context) {
bakconf := exec.Command("cp","conf/app.ini","conf/app.ini.bak") bakconf := exec.Command("cp","conf/app.ini","conf/app.ini.bak")
err = bakconf.Start() err = bakconf.Start()
if err != nil { if err != nil {
log.Println("bakconf",err) tlog.Error("bakconf",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
} }
err = bakconf.Wait() err = bakconf.Wait()
if err != nil { if err != nil {
log.Println("bakconf",err) tlog.Error("bakconf",err)
appG.Response(http.StatusOK, e.CP_ERROR, err) appG.Response(http.StatusOK, e.CP_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
...@@ -152,14 +154,14 @@ func UpdatePai(c *gin.Context) { ...@@ -152,14 +154,14 @@ func UpdatePai(c *gin.Context) {
mv := exec.Command("mv",setting.Chain33Pai.Name+"_"+req.Version+"/"+setting.Chain33Pai.Name,".") mv := exec.Command("mv",setting.Chain33Pai.Name+"_"+req.Version+"/"+setting.Chain33Pai.Name,".")
err = mv.Start() err = mv.Start()
if err != nil { if err != nil {
log.Println("mv",err) tlog.Error("mv",err)
appG.Response(http.StatusOK, e.MV_ERROR, err) appG.Response(http.StatusOK, e.MV_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
} }
err = mv.Wait() err = mv.Wait()
if err != nil { if err != nil {
log.Println("mv",err) tlog.Error("mv",err)
appG.Response(http.StatusOK, e.MV_ERROR, err) appG.Response(http.StatusOK, e.MV_ERROR, err)
app.DPercent.Flag = false app.DPercent.Flag = false
return return
......
...@@ -2,13 +2,13 @@ package pai_service ...@@ -2,13 +2,13 @@ package pai_service
import ( import (
"os/exec" "os/exec"
"fmt"
"io" "io"
"strings" "strings"
"bufio" "bufio"
"chain33-pai/pkg/chain33" "chain33-pai/pkg/chain33"
"chain33-pai/pkg/logging" "chain33-pai/pkg/logging"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
log "github.com/33cn/chain33/common/log/log15"
"net/http" "net/http"
"bytes" "bytes"
"io/ioutil" "io/ioutil"
...@@ -18,6 +18,7 @@ import ( ...@@ -18,6 +18,7 @@ import (
var ( var (
pai_serial string pai_serial string
tlog = log.New("service", "pai_Service")
) )
type Pai struct { type Pai struct {
...@@ -100,14 +101,14 @@ func getPaiConfig(command string ,arg ...string) (config map[string]string,err e ...@@ -100,14 +101,14 @@ func getPaiConfig(command string ,arg ...string) (config map[string]string,err e
list := make(map[string]string, 0) list := make(map[string]string, 0)
cmd := exec.Command("cat", arg...) cmd := exec.Command("cat", arg...)
stdout, err := cmd.StdoutPipe() stdout, err := cmd.StdoutPipe()
//fmt.Println(stdout) //tlog.Info(stdout)
if err != nil { if err != nil {
fmt.Println(err) tlog.Info("getPaiConfig",err)
return nil,err return nil,err
} }
defer stdout.Close() defer stdout.Close()
if err := cmd.Start(); err != nil { if err := cmd.Start(); err != nil {
fmt.Println(err) tlog.Info("getPaiConfig",err)
return nil,err return nil,err
} }
rd := bufio.NewReader(stdout) rd := bufio.NewReader(stdout)
...@@ -116,13 +117,13 @@ func getPaiConfig(command string ,arg ...string) (config map[string]string,err e ...@@ -116,13 +117,13 @@ func getPaiConfig(command string ,arg ...string) (config map[string]string,err e
if err!=nil || io.EOF==err{ if err!=nil || io.EOF==err{
break break
}else{ }else{
//fmt.Println("line", line) //tlog.Info("line", line)
l := strings.Split(line, ":") l := strings.Split(line, ":")
if len(l) == 2 { if len(l) == 2 {
k := strings.ToLower(strings.TrimRight(strings.Trim(strings.Replace(l[0], " ", " ", -1), " "), " ")) k := strings.ToLower(strings.TrimRight(strings.Trim(strings.Replace(l[0], " ", " ", -1), " "), " "))
v := strings.Trim(strings.Replace(l[1], "\n", "", -1), " ") v := strings.Trim(strings.Replace(l[1], "\n", "", -1), " ")
//fmt.Println("KEY:",k, "VAL:", v) //tlog.Info("KEY:",k, "VAL:", v)
if _, ok := list[k]; !ok { if _, ok := list[k]; !ok {
list[k] = v list[k] = v
if k == "serial" { if k == "serial" {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment