forked from lug/matterbridge
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
 | |
| // See LICENSE.txt for license information.
 | |
| 
 | |
| package mlog
 | |
| 
 | |
| import "github.com/mattermost/logr"
 | |
| 
 | |
| // onLoggerError is called when the logging system encounters an error,
 | |
| // such as a target not able to write records. The targets will keep trying
 | |
| // however the error will be logged with a dedicated level that can be output
 | |
| // to a safe/always available target for monitoring or alerting.
 | |
| func onLoggerError(err error) {
 | |
| 	Log(LvlLogError, "advanced logging error", Err(err))
 | |
| }
 | |
| 
 | |
| // onQueueFull is called when the main logger queue is full, indicating the
 | |
| // volume and frequency of log record creation is too high for the queue size
 | |
| // and/or the target latencies.
 | |
| func onQueueFull(rec *logr.LogRec, maxQueueSize int) bool {
 | |
| 	Log(LvlLogError, "main queue full, dropping record", Any("rec", rec))
 | |
| 	return true // drop record
 | |
| }
 | |
| 
 | |
| // onTargetQueueFull is called when the main logger queue is full, indicating the
 | |
| // volume and frequency of log record creation is too high for the target's queue size
 | |
| // and/or the target latency.
 | |
| func onTargetQueueFull(target logr.Target, rec *logr.LogRec, maxQueueSize int) bool {
 | |
| 	Log(LvlLogError, "target queue full, dropping record", String("target", ""), Any("rec", rec))
 | |
| 	return true // drop record
 | |
| }
 | 
