github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/event/nileventstorage/nileventstorage.go (about)

     1  package nileventstorage
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/0xPolygon/supernets2-node/event"
     7  	"github.com/0xPolygon/supernets2-node/log"
     8  )
     9  
    10  // NilEventStorage is an implementation of the event storage interface
    11  // that just logs but does not store the data
    12  type NilEventStorage struct {
    13  }
    14  
    15  // NewNilEventStorage creates and initializes an instance of NewNilEventStorage
    16  func NewNilEventStorage() (*NilEventStorage, error) {
    17  	return &NilEventStorage{}, nil
    18  }
    19  
    20  // LogEvent logs an event following the defined interface
    21  func (p *NilEventStorage) LogEvent(ctx context.Context, ev *event.Event) error {
    22  	LogEvent(ev)
    23  	return nil
    24  }
    25  
    26  // LogEvent actually logs the event
    27  func LogEvent(ev *event.Event) {
    28  	switch ev.Level {
    29  	case event.Level_Emergency, event.Level_Alert, event.Level_Critical, event.Level_Error:
    30  		log.Errorf("Event: %+v", ev)
    31  	case event.Level_Warning, event.Level_Notice:
    32  		log.Warnf("Event: %+v", ev)
    33  	case event.Level_Info:
    34  		log.Infof("Event: %+v", ev)
    35  	case event.Level_Debug:
    36  		log.Debugf("Event: %+v", ev)
    37  	}
    38  }