mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 21:42:24 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			820 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			820 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package syslog
 | |
| 
 | |
| import (
 | |
| 	"gopkg.in/mcuadros/go-syslog.v2/format"
 | |
| )
 | |
| 
 | |
| //The handler receive every syslog entry at Handle method
 | |
| type Handler interface {
 | |
| 	Handle(format.LogParts, int64, error)
 | |
| }
 | |
| 
 | |
| type LogPartsChannel chan format.LogParts
 | |
| 
 | |
| //The ChannelHandler will send all the syslog entries into the given channel
 | |
| type ChannelHandler struct {
 | |
| 	channel LogPartsChannel
 | |
| }
 | |
| 
 | |
| //NewChannelHandler returns a new ChannelHandler
 | |
| func NewChannelHandler(channel LogPartsChannel) *ChannelHandler {
 | |
| 	handler := new(ChannelHandler)
 | |
| 	handler.SetChannel(channel)
 | |
| 
 | |
| 	return handler
 | |
| }
 | |
| 
 | |
| //The channel to be used
 | |
| func (h *ChannelHandler) SetChannel(channel LogPartsChannel) {
 | |
| 	h.channel = channel
 | |
| }
 | |
| 
 | |
| //Syslog entry receiver
 | |
| func (h *ChannelHandler) Handle(logParts format.LogParts, messageLength int64, err error) {
 | |
| 	h.channel <- logParts
 | |
| }
 |