Browse Source

组件替换为使用golang实现

master
xyiege 2 months ago
parent
commit
fe9d09a1db
  1. 10
      scalib/go.mod
  2. 16
      scalib/go.sum
  3. 16
      scalib/main.go
  4. 10
      scalib/util/xttlog.go

10
scalib/go.mod

@ -1,3 +1,13 @@
module scalib
go 1.24.6
require (
go.uber.org/zap v1.27.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
)
require (
github.com/stretchr/testify v1.9.0 // indirect
go.uber.org/multierr v1.10.0 // indirect
)

16
scalib/go.sum

@ -0,0 +1,16 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

16
scalib/main.go

@ -1,10 +1,13 @@
package main
import (
"flag"
"fmt"
"net/rpc"
"os"
"path/filepath"
"scalib/util"
"strings"
"go.uber.org/zap"
@ -23,8 +26,17 @@ type UpFileClient struct {
// 主入口
func main() {
// 启用日志
logger := util.NewProductionLogger()
defer logger.Sync()
// 使用flag解析命令行参数
remote := flag.String("h", "127.0.0.1:8080", "The remote server address (ip:port)")
curPath := flag.String("f", "", "The local file path to upload")
uploadPath := flag.String("u", "", "The remote upload path")
flag.Parse()
// 将服务器的信息拆分为ip和端口
harr := strings.Split(remote, ":")
harr := strings.Split(*remote, ":")
dstip := harr[0]
dport := harr[1]
@ -36,7 +48,7 @@ func main() {
}
defer client.rpcClient.Close()
// 调用 transferFile
err = transferFile(client, filePath, uploadPath)
err = transferFile(client, *curPath, *uploadPath)
if err != nil {
logger.Error("TransferFile failed", zap.Error(err))
fmt.Printf("TransferFile failed: %v\n", err)

10
scalib/util/xttlog.go

@ -13,11 +13,11 @@ func NewProductionLogger() *zap.Logger {
// 1. 配置日志轮转(用lumberjack)
hook := &lumberjack.Logger{
Filename: "./logs/app.log", // 日志文件路径
MaxSize: 10, // 单个文件最大大小(MB)
MaxBackups: 7, // 最多保留多少个备份文件
MaxAge: 7, // 日志文件最多保留多少天
Compress: true, // 是否压缩备份文件(gzip)
Filename: "./logs/scalib.log", // 日志文件路径
MaxSize: 10, // 单个文件最大大小(MB)
MaxBackups: 7, // 最多保留多少个备份文件
MaxAge: 7, // 日志文件最多保留多少天
Compress: true, // 是否压缩备份文件(gzip)
}
defer hook.Close()

Loading…
Cancel
Save