From 68d0fcff4906d34e551054997b1e5d425a4f10a4 Mon Sep 17 00:00:00 2001 From: qydysky Date: Mon, 28 Dec 2020 23:10:00 +0800 Subject: [PATCH] 97 --- log/Log.go | 22 +++++++++++++++------- log/Log_test.go | 3 ++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/log/Log.go b/log/Log.go index 3aaf889..521eae3 100644 --- a/log/Log.go +++ b/log/Log.go @@ -21,6 +21,7 @@ type Log_interface struct { type Config struct { File string + Stdout bool Prefix_string map[string]struct{} Base_string []interface{} } @@ -47,7 +48,8 @@ func New(c Config) (o *Log_interface) { return false }, `L`:func(data interface{})(bool){ - var showObj = []io.Writer{os.Stdout} + var showObj = []io.Writer{} + if o.Stdout {showObj = append(showObj, os.Stdout)} if o.File != `` { file, err := os.OpenFile(o.File, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err == nil { @@ -67,7 +69,7 @@ func New(c Config) (o *Log_interface) { for i { select { case <-b:i = false - case <-time.After(time.Duration(10)*time.Millisecond):o.MQ.Push_tag(`block`,b) + case <-time.After(time.Duration(20)*time.Millisecond):o.MQ.Push_tag(`block`,b) } } } @@ -75,24 +77,30 @@ func New(c Config) (o *Log_interface) { } // -func copy(i *Log_interface)(o *Log_interface){ +func Copy(i *Log_interface)(o *Log_interface){ o = New((*i).Config) return } //Level 设置之后日志等级 func (I *Log_interface) Level(log map[string]struct{}) (O *Log_interface) { - O = copy(I) + O = Copy(I) for k,_ := range O.Prefix_string { if _,ok := log[k];!ok{delete(O.Prefix_string,k)} } return } +//Open 日志不显示 +func (I *Log_interface) Log_show_control(show bool) (O *Log_interface) { + O=I + O.Stdout = show + return +} //Open 日志输出至文件 func (I *Log_interface) Log_to_file(fileP string) (O *Log_interface) { - O=copy(I) + O=I O.File = fileP if O.File != `` {p.File().NewPath(O.File)} return @@ -113,12 +121,12 @@ func (I *Log_interface) Block(timeout int) (O *Log_interface) { //日志等级 //Base 追加到后续输出 func (I *Log_interface) Base(i ...interface{}) (O *Log_interface) { - O=copy(I) + O=Copy(I) O.Base_string = i return } func (I *Log_interface) Base_add(i ...interface{}) (O *Log_interface) { - O=copy(I) + O=Copy(I) O.Base_string = append(O.Base_string, i...) return } diff --git a/log/Log_test.go b/log/Log_test.go index 91833f4..157fe49 100644 --- a/log/Log_test.go +++ b/log/Log_test.go @@ -11,10 +11,11 @@ type test_item struct { func Test_1(t *testing.T) { n := New(Config{ File:`1.log`, + Stdout:true, Prefix_string:map[string]struct{}{`T:`:On,`I:`:On,`W:`:On,`E:`:On}, }) - n.L(`T:`,`s`).L(`I:`,`s`) + n.L(`T:`,`s`).L(`I:`,`s`).Block(1000) n.Log_to_file(`2.log`).L(`W:`,`s`).L(`E:`,`s`) { -- 2.39.2