diff --git a/Log/DeviceDatabase/ReadLatest.go b/Log/DeviceDatabase/ReadLatest.go new file mode 100644 index 0000000..15cd1ba --- /dev/null +++ b/Log/DeviceDatabase/ReadLatest.go @@ -0,0 +1,27 @@ +package DeviceDatabase + +import ( + "gopkg.in/mgo.v2/bson" +) + +func ReadLatest() (events []LogDBEntry) { + + query := logDBCollection.Find().Sort(`TimeUTC`).Limit(26) + count := 26 + + if n, err := query.Count(); err == nil { + count = n + } + + iter := query.Iter() + entry := LogDBEntry{} + pos := 0 + events = make([]LogDBEntry, count) + + for iter.Next(&entry) { + events[pos] = entry + pos++ + } + + return +} diff --git a/Log/DeviceDatabase/ReceiveLogging.go b/Log/DeviceDatabase/ReceiveLogging.go index f475d0b..c4e74f7 100644 --- a/Log/DeviceDatabase/ReceiveLogging.go +++ b/Log/DeviceDatabase/ReceiveLogging.go @@ -10,7 +10,7 @@ type Database struct { func (dev Database) Log(entries []Meta.Entry) { // - // Can not log here to prevent endless loop (consumer is also producer) + // Cannot log here to prevent endless loop (consumer is also producer) // write2Cache(entries) diff --git a/Log/Web/ReadLatest.go b/Log/Web/ReadLatest.go index 40f44f6..0263c21 100644 --- a/Log/Web/ReadLatest.go +++ b/Log/Web/ReadLatest.go @@ -1,10 +1,28 @@ package Web import ( + "github.com/SommerEngineering/Ocean/Log/DeviceDatabase" "github.com/SommerEngineering/Ocean/Log/Web/Scheme" ) func readLatest() (events []Scheme.LogEvent) { + + eventsFromDB := DeviceDatabase.ReadLatest() + count := len(eventsFromDB) + events = make([]Scheme.LogEvent, count) + + for n := 0; n < count; n++ { + eventFromDB := eventsFromDB[n] + events[n] = Scheme.LogEvent{} + //events[n].LogLine = eventFromDB. + + if n%2 == 0 { + events[n].AB = Scheme.B + } else { + events[n].AB = Scheme.A + } + } + // data.Events = make([]Scheme.LogEvent, 3) // data.Events[0].AB = Scheme.A // data.Events[0].LogLevel = Scheme.LogINFO