project init
This commit is contained in:
		
							parent
							
								
									070afc0939
								
							
						
					
					
						commit
						9d7405d0c2
					
				
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					# Created by .ignore support plugin (hsz.mobi)
 | 
				
			||||||
 | 
					### Example user template template
 | 
				
			||||||
 | 
					### Example user template
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# IntelliJ project files
 | 
				
			||||||
 | 
					.idea
 | 
				
			||||||
 | 
					*.iml
 | 
				
			||||||
 | 
					out
 | 
				
			||||||
 | 
					gen
 | 
				
			||||||
							
								
								
									
										102
									
								
								log.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								log.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,102 @@
 | 
				
			|||||||
 | 
					package grlogs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"bytes"
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"github.com/astaxie/beego"
 | 
				
			||||||
 | 
						"github.com/astaxie/beego/logs"
 | 
				
			||||||
 | 
						"lot.gaore.com/library/common"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						_              = iota
 | 
				
			||||||
 | 
						LEVEL_NONE     = iota
 | 
				
			||||||
 | 
						LEVEL_CRITICAL = iota
 | 
				
			||||||
 | 
						LEVEL_ERROR    = iota
 | 
				
			||||||
 | 
						LEVEL_WARNING  = iota
 | 
				
			||||||
 | 
						LEVEL_WARN     = iota
 | 
				
			||||||
 | 
						LEVEL_INFO     = iota
 | 
				
			||||||
 | 
						LEVEL_DEBUG    = iota
 | 
				
			||||||
 | 
						LEVEL_ALL      = iota
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ConsoleLogConfig struct {
 | 
				
			||||||
 | 
						Level int `json:"level"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type FileLogConfig struct {
 | 
				
			||||||
 | 
						Filename string `json:"filename"`
 | 
				
			||||||
 | 
						Level    int    `json:"level"`
 | 
				
			||||||
 | 
						Maxlines int    `json:"maxlines"`
 | 
				
			||||||
 | 
						Daily    bool   `json:"daily"`
 | 
				
			||||||
 | 
						Maxdays  int    `json:"maxdays"`
 | 
				
			||||||
 | 
						Color    bool   `json:"color"`
 | 
				
			||||||
 | 
						Rotate   bool   `json:"rotate"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ConnLogConfig struct {
 | 
				
			||||||
 | 
						ReconnectOnMsg bool   `json:"reconnect_on_msg"`
 | 
				
			||||||
 | 
						Reconnect      bool   `json:"reconnect"`
 | 
				
			||||||
 | 
						Net            string `json:"net"`
 | 
				
			||||||
 | 
						Addr           string `json:"addr"`
 | 
				
			||||||
 | 
						Level          int    `json:"level"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var loggers = make(map[string]*Logger)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Logger struct {
 | 
				
			||||||
 | 
						*logs.BeeLogger
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (l *Logger) Write(p []byte) (n int, err error) {
 | 
				
			||||||
 | 
						l.Debug(bytes.NewBuffer(p).String())
 | 
				
			||||||
 | 
						return
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (l *Logger) SetFormat() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (l *Logger) Stop() {
 | 
				
			||||||
 | 
						l.BeeLogger.Close()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetLogger(name string) *Logger {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if l, ok := loggers[name]; ok {
 | 
				
			||||||
 | 
							return l
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							var level int = LEVEL_WARN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if beego.BConfig.RunMode == "dev" {
 | 
				
			||||||
 | 
								level = LEVEL_ALL
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							conf1 := FileLogConfig{
 | 
				
			||||||
 | 
								Filename: common.GetCwd(fmt.Sprintf("runtime/logs/%s.log", name)),
 | 
				
			||||||
 | 
								Level:    LEVEL_ALL,
 | 
				
			||||||
 | 
								Maxlines: 0,
 | 
				
			||||||
 | 
								Daily:    true,
 | 
				
			||||||
 | 
								Maxdays:  7,
 | 
				
			||||||
 | 
								Color:    true,
 | 
				
			||||||
 | 
								Rotate:   true,
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							conf2 := ConsoleLogConfig{
 | 
				
			||||||
 | 
								Level: level,
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							confString, _ := json.Marshal(&conf1)
 | 
				
			||||||
 | 
							confString2, _ := json.Marshal(&conf2)
 | 
				
			||||||
 | 
							loggers[name] = &Logger{}
 | 
				
			||||||
 | 
							loggers[name].BeeLogger = logs.NewLogger()
 | 
				
			||||||
 | 
							loggers[name].SetLogger(logs.AdapterFile, bytes.NewBuffer(confString).String())
 | 
				
			||||||
 | 
							loggers[name].SetLogger(logs.AdapterConsole, bytes.NewBuffer(confString2).String())
 | 
				
			||||||
 | 
							loggers[name].BeeLogger.SetPrefix("_" + name)
 | 
				
			||||||
 | 
							loggers[name].BeeLogger.EnableFuncCallDepth(true)
 | 
				
			||||||
 | 
							loggers[name].BeeLogger.SetLogFuncCallDepth(2)
 | 
				
			||||||
 | 
							return loggers[name]
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								log_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								log_test.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					package grlogs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"github.com/astaxie/beego/logs"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestGetLogger(t *testing.T) {
 | 
				
			||||||
 | 
						logs.NewLogger()
 | 
				
			||||||
 | 
						logs.Info(LEVEL_ALL)
 | 
				
			||||||
 | 
						GetLogger("nds").Debug("akldalskflasfa")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user