]> 127.0.0.1 Git - part/.git/commitdiff
97
authorqydysky <qydysky@foxmail.com>
Fri, 25 Dec 2020 07:46:08 +0000 (15:46 +0800)
committerqydysky <qydysky@foxmail.com>
Fri, 25 Dec 2020 07:46:08 +0000 (15:46 +0800)
log/Log.go
log/Log_test.go

index 82f3322a195e0a8192675abe67388189eeebb5db..b2a68108b81038f5030dea77d96bdfe2cdb409f7 100644 (file)
@@ -50,12 +50,28 @@ func New(c Config) (o *Log_interface) {
             return false
         },
         `L`:func(data interface{})(bool){
-            log.New(io.MultiWriter(data.(Msg_item).Show_obj...),
-            data.(Msg_item).Prefix,
-            log.Ldate|log.Ltime).Println(data.(Msg_item).Msg_obj...)
+            tmp_data := data.(Msg_item)
+            if o.File_string != `` {
+                file, err := os.OpenFile(o.File_string, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
+                if err == nil {tmp_data.Show_obj = append(tmp_data.Show_obj, file)}
+                defer file.Close()
+            }
+            log.New(io.MultiWriter(tmp_data.Show_obj...),
+            tmp_data.Prefix,
+            log.Ldate|log.Ltime).Println(tmp_data.Msg_obj...)
             return false
         },
     })
+    {//启动阻塞
+        b := make(chan struct{})
+        i := true
+        for i {
+            select {
+            case <-b:i = false
+            case <-time.After(time.Duration(10)*time.Millisecond):o.MQ.Push_tag(`block`,b)
+            }
+        }
+    }    
     return
 }
 
@@ -114,10 +130,6 @@ func (I *Log_interface) L(prefix string, i ...interface{}) (O *Log_interface) {
     if _,ok := O.Prefix_string[prefix];!ok{return}
     var showObj = []io.Writer{os.Stdout}
 
-    if O.File_string != `` {
-        file, err := os.OpenFile(O.File_string, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
-        if err != nil {O.L("Error: ","Failed to open log file:", err)}else{showObj = append(showObj, file)}
-    }
     O.MQ.Push_tag(`L`,Msg_item{
         Prefix:prefix,
         Show_obj:showObj,
index 29de68c851c48273eec2c3081f3fd27dd0fe43c6..c879122c0b85e0feceb6942d1b76e9ee69ba62f1 100644 (file)
@@ -13,7 +13,6 @@ func Test_1(t *testing.T) {
     n := New(Config{
         Prefix_string:map[string]struct{}{`T:`:On,`I:`:On,`W:`:On,`E:`:On},
     })
-    time.Sleep(time.Second)
 
     n.Log_to_file(`1.log`).L(`T:`,`s`).L(`I:`,`s`).L(`W:`,`s`).L(`E:`,`s`)