mirror of
				https://github.com/go-kratos/kratos.git
				synced 2025-10-30 23:47:59 +02:00 
			
		
		
		
	add log verbose (#772)
This commit is contained in:
		
							
								
								
									
										30
									
								
								log/verbose.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								log/verbose.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| package log | ||||
|  | ||||
| // Verbose is a verbose type that implements Logger Print. | ||||
| type Verbose struct { | ||||
| 	log     Logger | ||||
| 	level   Level | ||||
| 	enabled bool | ||||
| } | ||||
|  | ||||
| // NewVerbose new a verbose with level. | ||||
| func NewVerbose(log Logger, level Level) Verbose { | ||||
| 	return Verbose{log: log, level: level} | ||||
| } | ||||
|  | ||||
| // Enabled will return true if this log level is enabled, guarded by the value of v. | ||||
| func (v Verbose) Enabled(level Level) bool { | ||||
| 	return v.level <= level | ||||
| } | ||||
|  | ||||
| // V reports whether verbosity at the call site is at least the requested level. | ||||
| func (v Verbose) V(level Level) Verbose { | ||||
| 	return Verbose{log: v.log, enabled: v.Enabled(level)} | ||||
| } | ||||
|  | ||||
| // Print is equivalent to the Print function, guarded by the value of v. | ||||
| func (v Verbose) Print(a ...interface{}) { | ||||
| 	if v.enabled { | ||||
| 		v.log.Print(a...) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										11
									
								
								log/verbose_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								log/verbose_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| package log | ||||
|  | ||||
| import "testing" | ||||
|  | ||||
| func TestVerbose(t *testing.T) { | ||||
| 	v := NewVerbose(DefaultLogger, 20) | ||||
|  | ||||
| 	v.V(10).Print("foo", "bar1") | ||||
| 	v.V(20).Print("foo", "bar2") | ||||
| 	v.V(30).Print("foo", "bar3") | ||||
| } | ||||
		Reference in New Issue
	
	Block a user