Ocean/Log/DeviceDatabase/Write2Cache.go

34 lines
1014 B
Go
Raw Normal View History

package DeviceDatabase
import (
"github.com/SommerEngineering/Ocean/Log/Meta"
)
2015-06-17 15:44:52 +00:00
// This function writes a batch of log entries to the cache.
func write2Cache(entries []Meta.Entry) {
2015-06-17 15:44:52 +00:00
// Loop over each entry:
for _, entry := range entries {
2015-06-17 15:44:52 +00:00
// If the cache is full, execute it:
if len(cache) == cacheSizeNumberOfEvents {
2015-06-17 15:44:52 +00:00
// Execute the cache with a new thread:
go cacheFull()
}
2015-06-17 15:44:52 +00:00
// Convert the log entry to the database format:
logDBentry := LogDBEntry{}
logDBentry.Category = entry.Category.Format()
logDBentry.Impact = entry.Impact.Format()
logDBentry.Level = entry.Level.Format()
logDBentry.MessageDescription = entry.MessageDescription
logDBentry.MessageName = string(entry.MessageName)
logDBentry.Parameters = entry.Parameters
logDBentry.Project = entry.Project
logDBentry.Sender = string(entry.Sender)
logDBentry.Severity = entry.Severity.Format()
logDBentry.TimeUTC = entry.Time
2015-06-17 15:44:52 +00:00
// Write it to the cache:
cache <- logDBentry
}
}