Browse Source
			
			
			logging: Little fix for filtering object fields
			
			
				master
			
			
		 
		
			
				
					
						 Matthew Holt
					
					6 years ago
						Matthew Holt
					
					6 years ago
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 2A349DD577D586A5
						
					
				
			
		
		
		
	
		
			
				 1 changed files with 
8 additions and 
0 deletions
			 
			
		 
		
			
				- 
					
					
					 
					modules/logging/filterencoder.go
				
				
				
					
						
							
								
									
	
		
			
				
					|  |  | @ -39,6 +39,11 @@ type FilterEncoder struct { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	// A map of field names to their filters. Note that this
 | 
			
		
	
		
			
				
					|  |  |  | 	// is not a module map; the keys are field names.
 | 
			
		
	
		
			
				
					|  |  |  | 	//
 | 
			
		
	
		
			
				
					|  |  |  | 	// Nested fields can be referenced by representing a
 | 
			
		
	
		
			
				
					|  |  |  | 	// layer of nesting with `>`. In other words, for an
 | 
			
		
	
		
			
				
					|  |  |  | 	// object like `{"a":{"b":0}}`, the inner field can
 | 
			
		
	
		
			
				
					|  |  |  | 	// be referenced as `a>b`.
 | 
			
		
	
		
			
				
					|  |  |  | 	FieldsRaw map[string]json.RawMessage `json:"fields,omitempty" caddy:"namespace=caddy.logging.encoders.filter inline_key=filter"` | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	wrapped zapcore.Encoder | 
			
		
	
	
		
			
				
					|  |  | @ -96,6 +101,9 @@ func (fe FilterEncoder) AddArray(key string, marshaler zapcore.ArrayMarshaler) e | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // AddObject is part of the zapcore.ObjectEncoder interface.
 | 
			
		
	
		
			
				
					|  |  |  | func (fe FilterEncoder) AddObject(key string, marshaler zapcore.ObjectMarshaler) error { | 
			
		
	
		
			
				
					|  |  |  | 	if fe.filtered(key, marshaler) { | 
			
		
	
		
			
				
					|  |  |  | 		return nil | 
			
		
	
		
			
				
					|  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  | 	fe.keyPrefix += key + ">" | 
			
		
	
		
			
				
					|  |  |  | 	return fe.wrapped.AddObject(key, logObjectMarshalerWrapper{ | 
			
		
	
		
			
				
					|  |  |  | 		enc:   fe, | 
			
		
	
	
		
			
				
					|  |  | 
 |