package simplelog import ( "encoding/json" "time" "github.com/google/uuid" ) // Event is a single structured log entry with a unique ID and // timestamp. type Event struct { ID uuid.UUID `json:"id"` Timestamp time.Time `json:"timestamp"` Level string `json:"level"` Message string `json:"message"` Data json.RawMessage `json:"data"` } // NewEvent returns an Event with a fresh ID and the current UTC // timestamp. func NewEvent(level, message string, data json.RawMessage) Event { return Event{ ID: uuid.New(), Timestamp: time.Now().UTC(), Level: level, Message: message, Data: data, } }