Logging Web Interface
**Work in progress**
This commit is contained in:
parent
c5e8a30e68
commit
45f2789048
23
Log/DeviceDatabase/Format.go
Normal file
23
Log/DeviceDatabase/Format.go
Normal file
@ -0,0 +1,23 @@
|
||||
package DeviceDatabase
|
||||
|
||||
import (
|
||||
"github.com/SommerEngineering/Ocean/Log/Meta"
|
||||
)
|
||||
|
||||
func (entry LogDBEntry) Format() (result string) {
|
||||
|
||||
converted := Meta.Entry{}
|
||||
converted.Time = entry.TimeUTC
|
||||
converted.Project = entry.Project
|
||||
converted.Sender = Meta.Sender(entry.Sender)
|
||||
converted.Category = Meta.ParseCategory(entry.Category)
|
||||
converted.Level = Meta.ParseLevel(entry.Level)
|
||||
converted.Severity = Meta.ParseSeverity(entry.Severity)
|
||||
converted.Impact = Meta.ParseImpact(entry.Impact)
|
||||
converted.MessageName = Meta.MessageName(entry.MessageName)
|
||||
converted.MessageDescription = entry.MessageDescription
|
||||
converted.Parameters = entry.Parameters
|
||||
|
||||
result = converted.Format()
|
||||
return
|
||||
}
|
@ -11,15 +11,15 @@ func write2Cache(entries []Meta.Entry) {
|
||||
}
|
||||
|
||||
logDBentry := LogDBEntry{}
|
||||
logDBentry.Category = Meta.FormatCategory(entry.Category)
|
||||
logDBentry.Impact = Meta.FormatImpact(entry.Impact)
|
||||
logDBentry.Level = Meta.FormatLevel(entry.Level)
|
||||
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 = Meta.FormatSeverity(entry.Severity)
|
||||
logDBentry.Severity = entry.Severity.Format()
|
||||
logDBentry.TimeUTC = entry.Time
|
||||
cache <- logDBentry
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ const (
|
||||
CategoryUSER = Category(iota)
|
||||
)
|
||||
|
||||
func FormatCategory(cat Category) (result string) {
|
||||
func (cat Category) Format() (result string) {
|
||||
switch cat {
|
||||
case CategoryBUSINESS:
|
||||
result = `C:BUSINESS`
|
||||
@ -25,3 +25,20 @@ func FormatCategory(cat Category) (result string) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func ParseCategory(cat string) (value Category) {
|
||||
switch cat {
|
||||
case `C:BUSINESS`:
|
||||
value = CategoryBUSINESS
|
||||
case `C:APP`:
|
||||
value = CategoryAPP
|
||||
case `C:SYSTEM`:
|
||||
value = CategorySYSTEM
|
||||
case `C:USER`:
|
||||
value = CategoryUSER
|
||||
default:
|
||||
value = CategoryAPP
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ func (entry Entry) Format() (result string) {
|
||||
messageDescription = strings.Replace(messageDescription, "\t", ` `, -1)
|
||||
messageDescription = strings.Replace(messageDescription, "\r", ` `, -1)
|
||||
|
||||
result = fmt.Sprintf(` [■] P:%10s [■] %s [■] %10s [■] %11s [■] %10s [■] %10s [■] sender: %-40s [■] name: %-26s [■] %s [■]`, entry.Project[:lenProject], formatTime(entry.Time), FormatCategory(entry.Category), FormatLevel(entry.Level), FormatSeverity(entry.Severity), FormatImpact(entry.Impact), entry.Sender[:lenSender], entry.MessageName[:lenMessageName], messageDescription)
|
||||
result = fmt.Sprintf(` [■] P:%10s [■] %s [■] %10s [■] %11s [■] %10s [■] %10s [■] sender: %-40s [■] name: %-26s [■] %s [■]`, entry.Project[:lenProject], formatTime(entry.Time), entry.Category.Format(), entry.Level.Format(), entry.Severity.Format(), entry.Impact.Format(), entry.Sender[:lenSender], entry.MessageName[:lenMessageName], messageDescription)
|
||||
|
||||
for _, param := range entry.Parameters {
|
||||
|
||||
|
@ -11,7 +11,7 @@ const (
|
||||
ImpactUnknown = Impact(iota)
|
||||
)
|
||||
|
||||
func FormatImpact(pri Impact) (result string) {
|
||||
func (pri Impact) Format() (result string) {
|
||||
switch pri {
|
||||
case ImpactCritical:
|
||||
result = `I:CRITICAL`
|
||||
@ -31,3 +31,24 @@ func FormatImpact(pri Impact) (result string) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func ParseImpact(pri string) (value Impact) {
|
||||
switch pri {
|
||||
case `I:CRITICAL`:
|
||||
value = ImpactCritical
|
||||
case `I:HIGH`:
|
||||
value = ImpactHigh
|
||||
case `I:LOW`:
|
||||
value = ImpactLow
|
||||
case `I:MIDDLE`:
|
||||
value = ImpactMiddle
|
||||
case `I:NONE`:
|
||||
value = ImpactNone
|
||||
case `I:UNKNOWN`:
|
||||
value = ImpactUnknown
|
||||
default:
|
||||
value = ImpactUnknown
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ const (
|
||||
LevelSECURITY = Level(iota)
|
||||
)
|
||||
|
||||
func FormatLevel(lvl Level) (result string) {
|
||||
func (lvl Level) Format() (result string) {
|
||||
switch lvl {
|
||||
case LevelDEBUG:
|
||||
result = `L:DEBUG`
|
||||
@ -31,3 +31,24 @@ func FormatLevel(lvl Level) (result string) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func ParseLevel(lvl string) (value Level) {
|
||||
switch lvl {
|
||||
case `L:DEBUG`:
|
||||
value = LevelDEBUG
|
||||
case `L:ERROR`:
|
||||
value = LevelERROR
|
||||
case `L:INFO`:
|
||||
value = LevelINFO
|
||||
case `L:SECURITY`:
|
||||
value = LevelSECURITY
|
||||
case `L:TALKATIVE`:
|
||||
value = LevelTALKATIVE
|
||||
case `L:WARN`:
|
||||
value = LevelWARN
|
||||
default:
|
||||
value = LevelERROR
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ const (
|
||||
SeverityUnknown = Severity(iota)
|
||||
)
|
||||
|
||||
func FormatSeverity(pri Severity) (result string) {
|
||||
func (pri Severity) Format() (result string) {
|
||||
switch pri {
|
||||
case SeverityCritical:
|
||||
result = `S:CRITICAL`
|
||||
@ -31,3 +31,24 @@ func FormatSeverity(pri Severity) (result string) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func ParseSeverity(pri string) (value Severity) {
|
||||
switch pri {
|
||||
case `S:CRITICAL`:
|
||||
value = SeverityCritical
|
||||
case `S:HIGH`:
|
||||
value = SeverityHigh
|
||||
case `S:LOW`:
|
||||
value = SeverityLow
|
||||
case `S:MIDDLE`:
|
||||
value = SeverityMiddle
|
||||
case `S:NONE`:
|
||||
value = SeverityNone
|
||||
case `S:UNKNOWN`:
|
||||
value = SeverityUnknown
|
||||
default:
|
||||
value = SeverityUnknown
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -14,7 +14,8 @@ func readLatest() (events []Scheme.LogEvent) {
|
||||
for n := 0; n < count; n++ {
|
||||
eventFromDB := eventsFromDB[n]
|
||||
events[n] = Scheme.LogEvent{}
|
||||
events[n].LogLine = eventFromDB.Level // TODO!!!
|
||||
events[n].LogLine = eventFromDB.Format()
|
||||
events[n].LogLevel = eventFromDB.Level // TODO => Change also the template (Webflow, CSS classes)
|
||||
|
||||
if n%2 == 0 {
|
||||
events[n].AB = Scheme.B
|
||||
@ -23,9 +24,5 @@ func readLatest() (events []Scheme.LogEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
// data.Events = make([]Scheme.LogEvent, 3)
|
||||
// data.Events[0].AB = Scheme.A
|
||||
// data.Events[0].LogLevel = Scheme.LogINFO
|
||||
// data.Events[0].LogLine = `hello world`
|
||||
return
|
||||
}
|
||||
|
@ -1,12 +1,6 @@
|
||||
package Scheme
|
||||
|
||||
const (
|
||||
A string = `loga`
|
||||
B string = `logb`
|
||||
LogWARN = `logwarn`
|
||||
LogDEBUG = `logdebug`
|
||||
LogERROR = `logerror`
|
||||
LogINFO = `loginfo`
|
||||
LogTALKATIVE = `logtalkative`
|
||||
LogSECURITY = `logsecurity`
|
||||
A string = `loga`
|
||||
B string = `logb`
|
||||
)
|
||||
|
@ -15,6 +15,6 @@ type Viewer struct {
|
||||
// </li>
|
||||
type LogEvent struct {
|
||||
LogLine string
|
||||
LogLevel string // logwarn || logdebug || logerror || loginfo || logtalkative || logsecurity
|
||||
LogLevel string // L:DEBUG || L:ERROR || L:INFO || L:SECURITY || L:TALKATIVE || L:WARN
|
||||
AB string // loga || logb
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user