v1.2.0 整个beegolog 打进去, 增加syncmap日志通道
This commit is contained in:
		
							parent
							
								
									973fd817d5
								
							
						
					
					
						commit
						ed9201b453
					
				
							
								
								
									
										76
									
								
								function.go
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								function.go
									
									
									
									
									
								
							@ -1,77 +1 @@
 | 
				
			|||||||
package grlogs
 | 
					package grlogs
 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"crypto/md5"
 | 
					 | 
				
			||||||
	"encoding/hex"
 | 
					 | 
				
			||||||
	"fmt"
 | 
					 | 
				
			||||||
	"io/ioutil"
 | 
					 | 
				
			||||||
	"math/rand"
 | 
					 | 
				
			||||||
	"os"
 | 
					 | 
				
			||||||
	"path"
 | 
					 | 
				
			||||||
	"reflect"
 | 
					 | 
				
			||||||
	"runtime"
 | 
					 | 
				
			||||||
	"strings"
 | 
					 | 
				
			||||||
	"time"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type Empty struct {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//传入一个字符串,返回一个加密后的md5
 | 
					 | 
				
			||||||
func Md5(str string) string {
 | 
					 | 
				
			||||||
	data := []byte(str)
 | 
					 | 
				
			||||||
	has := md5.Sum(data)
 | 
					 | 
				
			||||||
	md5str := fmt.Sprintf("%x", has) //将[]byte转成16进制
 | 
					 | 
				
			||||||
	return md5str
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func Md5File(filePath string) string {
 | 
					 | 
				
			||||||
	hash := md5.New()
 | 
					 | 
				
			||||||
	data, _ := ioutil.ReadFile(filePath)
 | 
					 | 
				
			||||||
	hash.Write([]byte(data))
 | 
					 | 
				
			||||||
	md5str := hex.EncodeToString(hash.Sum(nil))
 | 
					 | 
				
			||||||
	return md5str
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func GetPackageName() string {
 | 
					 | 
				
			||||||
	packpath := reflect.TypeOf(Empty{}).PkgPath()
 | 
					 | 
				
			||||||
	if idx := strings.Index(packpath, "/"); idx > 0 {
 | 
					 | 
				
			||||||
		return packpath[:idx]
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		return packpath
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func GetCwd(filepath ...string) string {
 | 
					 | 
				
			||||||
	_, filename1, _, _ := runtime.Caller(0)
 | 
					 | 
				
			||||||
	filename2, _ := os.Getwd()
 | 
					 | 
				
			||||||
	if !strings.HasSuffix(filename2, GetPackageName()) {
 | 
					 | 
				
			||||||
		paths := append([]string{path.Dir(filename1), "/../../"}, filepath...)
 | 
					 | 
				
			||||||
		return path.Join(paths...)
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		paths := append([]string{filename2, "/"}, filepath...)
 | 
					 | 
				
			||||||
		return path.Join(paths...)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func SetCwd() error {
 | 
					 | 
				
			||||||
	_, filename1, _, _ := runtime.Caller(0)
 | 
					 | 
				
			||||||
	filename2, _ := os.Getwd()
 | 
					 | 
				
			||||||
	if !strings.HasSuffix(filename2, GetPackageName()) {
 | 
					 | 
				
			||||||
		paths := append([]string{path.Dir(filename1), "/../../"})
 | 
					 | 
				
			||||||
		return os.Chdir(path.Join(paths...))
 | 
					 | 
				
			||||||
	} else {
 | 
					 | 
				
			||||||
		paths := append([]string{filename2, "/"})
 | 
					 | 
				
			||||||
		return os.Chdir(path.Join(paths...))
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func RandString(length int) string {
 | 
					 | 
				
			||||||
	str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
 | 
					 | 
				
			||||||
	bytes := []byte(str)
 | 
					 | 
				
			||||||
	result := []byte{}
 | 
					 | 
				
			||||||
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
 | 
					 | 
				
			||||||
	for i := 0; i < length; i++ {
 | 
					 | 
				
			||||||
		result = append(result, bytes[r.Intn(len(bytes))])
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return string(result)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								log.go
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								log.go
									
									
									
									
									
								
							@ -75,6 +75,7 @@ func GetLogger(name string) *Logger {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		wd, _ := os.Getwd()
 | 
							wd, _ := os.Getwd()
 | 
				
			||||||
 | 
							fmt.Println(wd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		conf1 := FileLogConfig{
 | 
							conf1 := FileLogConfig{
 | 
				
			||||||
			Filename: path.Join(wd, fmt.Sprintf("runtime/logs/%s.log", name)),
 | 
								Filename: path.Join(wd, fmt.Sprintf("runtime/logs/%s.log", name)),
 | 
				
			||||||
 | 
				
			|||||||
@ -5,5 +5,7 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestGetLogger(t *testing.T) {
 | 
					func TestGetLogger(t *testing.T) {
 | 
				
			||||||
	GetLogger("nds").Debug("akldalskflasfa")
 | 
						GetLogger("nds").Debug("我正在调试")
 | 
				
			||||||
 | 
						GetLogger("nds").Critical("出错了")
 | 
				
			||||||
 | 
						GetLogger("wifi").Critical("hello wifi")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user