From: qydysky Date: Wed, 13 Jan 2021 13:08:21 +0000 (+0800) Subject: 100 X-Git-Tag: v0.3.6~2 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=3c354d18111aa54e460667816fe5ce0ab3a4e564;p=part%2F.git 100 --- diff --git a/compress/Flate.go b/compress/Flate.go index 3e1822b..de6fd2f 100644 --- a/compress/Flate.go +++ b/compress/Flate.go @@ -1,7 +1,7 @@ package part import ( - "github.com/klauspost/compress/flate" + "compress/flate" "bytes" "io" "io/ioutil" @@ -23,14 +23,11 @@ func InFlate(byteS []byte, level int) ([]byte,error) { } func UnFlate(byteS []byte) ([]byte,error) { - buf := bytes.NewBuffer(byteS) - // 创建一个flate.Write - flateRead := flate.NewReader(buf) - defer flateRead.Close() - // 写入待压缩内容 + flateRead := flate.NewReader(bytes.NewBuffer(byteS)) rb, err := ioutil.ReadAll(flateRead) + flateRead.Close() if err == io.EOF || err == io.ErrUnexpectedEOF { - return rb, nil + return append([]byte{},rb...), nil } - return rb, err + return append([]byte{},rb...), err } \ No newline at end of file diff --git a/compress/Gzip.go b/compress/Gzip.go index 2e503b4..1c45d28 100644 --- a/compress/Gzip.go +++ b/compress/Gzip.go @@ -1,7 +1,7 @@ package part import ( - gzip "github.com/klauspost/pgzip" + gzip "compress/gzip" "bytes" "io" "io/ioutil" @@ -21,15 +21,14 @@ func InGzip(byteS []byte, level int) ([]byte,error) { } func UnGzip(byteS []byte) ([]byte,error) { - buf := bytes.NewBuffer(byteS) - Read,err := gzip.NewReader(buf) + Read,err := gzip.NewReader(bytes.NewBuffer(byteS)) if err != nil { - return buf.Bytes(),err + return byteS,err } - defer Read.Close() rb, err := ioutil.ReadAll(Read) + Read.Close() if err == io.EOF || err == io.ErrUnexpectedEOF { - return rb, nil + return append([]byte{},rb...), nil } - return rb, err + return append([]byte{},rb...), err } \ No newline at end of file diff --git a/get/Get.go b/get/Get.go index c8d8502..33100e9 100644 --- a/get/Get.go +++ b/get/Get.go @@ -81,5 +81,5 @@ func SS(source,stratS,endS string, startI,lenI int) (string,error) { if te == 0 {return "", errors.New("no stop symbol "+ endS +" in " + source)} - return source[ts:te], nil + return string(source[ts:te]), nil } diff --git a/go.mod b/go.mod index 5e96ca1..61032da 100644 --- a/go.mod +++ b/go.mod @@ -5,17 +5,17 @@ go 1.14 require ( github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect github.com/andybalholm/brotli v1.0.1 - github.com/go-ole/go-ole v1.2.4 // indirect + github.com/go-ole/go-ole v1.2.5 // indirect github.com/gorilla/websocket v1.4.2 - github.com/klauspost/compress v1.10.10 + github.com/klauspost/compress v1.11.6 github.com/klauspost/pgzip v1.2.5 - github.com/miekg/dns v1.1.31 - github.com/shirou/gopsutil v2.20.7+incompatible + github.com/miekg/dns v1.1.35 + github.com/shirou/gopsutil v3.20.12+incompatible github.com/thedevsaddam/gojsonq v2.3.0+incompatible github.com/thedevsaddam/gojsonq/v2 v2.5.2 - golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de // indirect - golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect - golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed // indirect + golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect + golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect + golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2 // indirect ) //replace github.com/thedevsaddam/gojsonq v2.3.0+incompatible => github.com/thedevsaddam/gojsonq/v2 v2.5.2 diff --git a/go.sum b/go.sum index 3d760f3..011911d 100644 --- a/go.sum +++ b/go.sum @@ -4,18 +4,26 @@ github.com/andybalholm/brotli v1.0.1 h1:KqhlKozYbRtJvsPrrEeXcO+N2l6NYT5A2QAFmSUL github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= +github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/klauspost/compress v1.10.10 h1:a/y8CglcM7gLGYmlbP/stPE5sR3hbhFRUjCBfd/0B3I= github.com/klauspost/compress v1.10.10/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.6 h1:EgWPCW6O3n1D5n99Zq3xXBt9uCwRGvpwGOusOLNBRSQ= +github.com/klauspost/compress v1.11.6/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo= github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/dns v1.1.35 h1:oTfOaDH+mZkdcgdIjH6yBajRGtIwcwcaR+rt23ZSrJs= +github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/shirou/gopsutil v2.20.6+incompatible h1:P37G9YH8M4vqkKcwBosp+URN5O8Tay67D2MbR361ioY= github.com/shirou/gopsutil v2.20.6+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v2.20.7+incompatible h1:Ymv4OD12d6zm+2yONe39VSmp2XooJe8za7ngOLW/o/w= github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil v3.20.12+incompatible h1:6VEGkOXP/eP4o2Ilk8cSsX0PhOEfX6leqAnD+urrp9M= +github.com/shirou/gopsutil v3.20.12+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/thedevsaddam/gojsonq v1.9.1 h1:zQulEP43nwmq5EKrNWyIgJVbqDeMdC1qzXM/f5O15a0= github.com/thedevsaddam/gojsonq v2.3.0+incompatible h1:i2lFTvGY4LvoZ2VUzedsFlRiyaWcJm3Uh6cQ9+HyQA8= github.com/thedevsaddam/gojsonq v2.3.0+incompatible/go.mod h1:RBcQaITThgJAAYKH7FNp2onYodRz8URfsuEGpAch0NA= @@ -27,6 +35,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -34,10 +44,14 @@ golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7 golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1 h1:sIky/MyNRSHTrdxfsiUSS4WIAMvInbeXljJz+jDjeYE= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -45,6 +59,13 @@ golang.org/x/sys v0.0.0-20200808120158-1030fc2bf1d9 h1:yi1hN8dcqI9l8klZfy4B8mJvF golang.org/x/sys v0.0.0-20200808120158-1030fc2bf1d9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed h1:WBkVNH1zd9jg/dK4HCM4lNANnmd12EHC9z+LmcCG4ns= golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2 h1:F9vNgpIiamoF+Q1/c78bikg/NScXEtbZSNEpnRelOzs= +golang.org/x/sys v0.0.0-20210113000019-eaf3bda374d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/log/Log.go b/log/Log.go index e52ce95..4c9cd40 100644 --- a/log/Log.go +++ b/log/Log.go @@ -36,11 +36,9 @@ type Msg_item struct { //New 初始化 func New(c Config) (o *Log_interface) { - o = new(Log_interface) - - //设置 - o.Config = c - + o = &Log_interface{ + Config:c, + } if c.File != `` {p.File().NewPath(c.File)} o.MQ = m.New(100) @@ -78,10 +76,10 @@ func New(c Config) (o *Log_interface) { // func Copy(i *Log_interface)(o *Log_interface){ - o = new(Log_interface) - //设置 - o.Config = (*i).Config - o.MQ = (*i).MQ + o = &Log_interface{ + Config:(*i).Config, + MQ:(*i).MQ, + } {//启动阻塞 b := s.Init() for b.Islive() { diff --git a/log/Log_test.go b/log/Log_test.go index 157fe49..fe00760 100644 --- a/log/Log_test.go +++ b/log/Log_test.go @@ -1,7 +1,13 @@ package part import ( - "testing" + // "fmt" + "runtime" + "time" + "testing" + + "net/http" + _ "net/http/pprof" ) type test_item struct { @@ -29,4 +35,32 @@ func Test_1(t *testing.T) { n.Level(map[string]struct{}{`W:`:On}).L(`T:`,`s`).L(`I:`,`s`).L(`W:`,`s`).L(`E:`,`s`) n.Block(1000) +} + + +var n *Log_interface + +func Test_2(t *testing.T) { + n = New(Config{ + File:`1.log`, + Stdout:true, + Prefix_string:map[string]struct{}{`T:`:On,`I:`:On,`W:`:On,`E:`:On}, + }) + + go func() { + http.ListenAndServe("0.0.0.0:8899", nil) + }() + // n = nil + for { + n:=n.Base_add(`>1`) + n.L(`T:`,`s`) + time.Sleep(time.Second*time.Duration(1)) + // n=nil + } + n.L(`T:`,`s`) + runtime.GC() + time.Sleep(time.Second*time.Duration(1000)) + // fmt.Printf("%p %p\n",n.MQ,n1.MQ) + // n1 = nil + // fmt.Println(n) } \ No newline at end of file