Implemented the logging viewer
This commit is contained in:
parent
71aa99a5e3
commit
37c901636c
@ -16,6 +16,9 @@ type LoggingViewer struct {
|
||||
CurrentMessageName string
|
||||
CurrentSender string
|
||||
CurrentPage string
|
||||
NextPage string
|
||||
PreviousPage string
|
||||
LastPage string
|
||||
MessageNames []MessageNames
|
||||
Sender []Sender
|
||||
Events []LogEvent
|
||||
|
@ -46,7 +46,9 @@ var LoggingViewer string = `
|
||||
<h2 class="headercontrol">Filtering</h2>
|
||||
<div class="filters">
|
||||
<div class="w-form">
|
||||
<form class="filterformcontainer" id="wf-form-Filters" name="wf-form-Filters" data-name="Filters">
|
||||
<form class="filterformcontainer" id="wf-form-Filters" name="wf-form-Filters" data-name="Filters" method="post" action="/log">
|
||||
<input type="hidden" name="LiveView" value="{{.SetLiveView}}">
|
||||
<input type="hidden" name="CurrentPage" value="{{.CurrentPage}}">
|
||||
<div class="w-row">
|
||||
<div class="w-col w-col-6">
|
||||
<div class="columns">
|
||||
@ -144,13 +146,23 @@ var LoggingViewer string = `
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="w-container pagecontainer"><a class="button changepagebutton" href="#">First</a><a class="button changepagebutton" href="#">-1</a>
|
||||
<div class="w-container pagecontainer">
|
||||
<a class="button changepagebutton" href="/log?Level={{.CurrentLevel}}&TimeRange={{.CurrentTimeRange}}&Category={{.CurrentCategory}}&Impact={{.CurrentImpact}}&Severity={{.CurrentSeverity}}&MSGName={{.CurrentMessageName}}&Sender={{.CurrentSender}}&CurrentPage=1&LiveView={{.SetLiveView}}">First</a>
|
||||
<a class="button changepagebutton" href="/log?Level={{.CurrentLevel}}&TimeRange={{.CurrentTimeRange}}&Category={{.CurrentCategory}}&Impact={{.CurrentImpact}}&Severity={{.CurrentSeverity}}&MSGName={{.CurrentMessageName}}&Sender={{.CurrentSender}}&CurrentPage={{.PreviousPage}}&LiveView={{.SetLiveView}}">-1</a>
|
||||
<div class="w-hidden-main w-hidden-medium newlineblock"></div>
|
||||
<div class="w-form formpageswrapper">
|
||||
<form class="formpages" id="wf-form-Pages" name="wf-form-Pages" data-name="Pages" method="post">
|
||||
<form class="formpages" id="wf-form-Pages" name="wf-form-Pages" data-name="Pages" method="post" action="/log">
|
||||
<input type="hidden" name="Level" value="{{.CurrentLevel}}">
|
||||
<input type="hidden" name="TimeRange" value="{{.CurrentTimeRange}}">
|
||||
<input type="hidden" name="Category" value="{{.CurrentCategory}}">
|
||||
<input type="hidden" name="Impact" value="{{.CurrentImpact}}">
|
||||
<input type="hidden" name="Severity" value="{{.CurrentSeverity}}">
|
||||
<input type="hidden" name="MSGName" value="{{.CurrentMessageName}}">
|
||||
<input type="hidden" name="Sender" value="{{.CurrentSender}}">
|
||||
<input type="hidden" name="LiveView" value="{{.SetLiveView}}">
|
||||
<label class="formfield" for="CurrentPage">Page</label>
|
||||
<input class="w-input currentpage" id="CurrentPage" type="text" placeholder="1" name="CurrentPage" required="required" data-name="CurrentPage">
|
||||
<div class="textcountpages">of 1000 pages</div>
|
||||
<input class="w-input currentpage" id="CurrentPage" type="text" placeholder="{{.CurrentPage}}" name="CurrentPage" required="required" data-name="CurrentPage">
|
||||
<div class="textcountpages">of {{.LastPage}} pages</div>
|
||||
<div class="w-hidden-main w-hidden-medium w-hidden-small newlineblock"></div>
|
||||
<input class="w-button button changepagebutton pagechangesubmit" type="submit" value="Change page" data-wait="Please wait...">
|
||||
</form>
|
||||
@ -161,7 +173,9 @@ var LoggingViewer string = `
|
||||
<p>Oops! Something went wrong while submitting the form :(</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-hidden-main w-hidden-medium newlineblock"></div><a class="button changepagebutton" href="#">+1</a><a class="button changepagebutton" href="#">Last</a>
|
||||
<div class="w-hidden-main w-hidden-medium newlineblock"></div>
|
||||
<a class="button changepagebutton" href="/log?Level={{.CurrentLevel}}&TimeRange={{.CurrentTimeRange}}&Category={{.CurrentCategory}}&Impact={{.CurrentImpact}}&Severity={{.CurrentSeverity}}&MSGName={{.CurrentMessageName}}&Sender={{.CurrentSender}}&CurrentPage={{.NextPage}}&LiveView={{.SetLiveView}}">+1</a>
|
||||
<a class="button changepagebutton" href="/log?Level={{.CurrentLevel}}&TimeRange={{.CurrentTimeRange}}&Category={{.CurrentCategory}}&Impact={{.CurrentImpact}}&Severity={{.CurrentSeverity}}&MSGName={{.CurrentMessageName}}&Sender={{.CurrentSender}}&CurrentPage={{.LastPage}}&LiveView={{.SetLiveView}}">Last</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="/admin/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/admin/js/webflow.js"></script>
|
||||
|
@ -1,6 +1,7 @@
|
||||
package Web
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/SommerEngineering/Ocean/Admin"
|
||||
"github.com/SommerEngineering/Ocean/Admin/Scheme"
|
||||
"github.com/SommerEngineering/Ocean/Log"
|
||||
@ -9,6 +10,7 @@ import (
|
||||
"github.com/SommerEngineering/Ocean/MimeTypes"
|
||||
"github.com/SommerEngineering/Ocean/Shutdown"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@ -25,6 +27,12 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
|
||||
request.ParseForm()
|
||||
countParameters := len(request.Form)
|
||||
|
||||
// The current page as number:
|
||||
currentPageNumber := 1
|
||||
|
||||
// The max. page as number:
|
||||
lastPageNumber := 1
|
||||
|
||||
// Setup the data for the HTML template:
|
||||
data := Scheme.LoggingViewer{}
|
||||
data.Title = `Logging Viewer`
|
||||
@ -36,6 +44,15 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
|
||||
// Initial view => first page (latest logs)
|
||||
data.Events = readLatest()
|
||||
data.SetLiveView = true
|
||||
data.CurrentPage = `1`
|
||||
data.LastPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
if currentPageNumber+1 > lastPageNumber {
|
||||
data.NextPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
} else {
|
||||
data.NextPage = `2`
|
||||
}
|
||||
|
||||
data.PreviousPage = `1`
|
||||
} else {
|
||||
// Case: Custom view
|
||||
currentLevel := request.FormValue(`Level`)
|
||||
@ -98,9 +115,34 @@ func HandlerWebLog(response http.ResponseWriter, request *http.Request) {
|
||||
}
|
||||
|
||||
if currentPage != `` {
|
||||
if number, err := strconv.Atoi(currentPage); err != nil {
|
||||
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityNone, LM.ImpactNone, LM.MessageNameEXECUTE, `Was not able to parse the page number.`, err.Error())
|
||||
} else {
|
||||
currentPageNumber = number
|
||||
data.CurrentPage = fmt.Sprintf("%d", currentPageNumber)
|
||||
data.LastPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
if currentPageNumber+1 > lastPageNumber {
|
||||
data.NextPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
} else {
|
||||
data.NextPage = fmt.Sprintf("%d", currentPageNumber+1)
|
||||
}
|
||||
|
||||
if currentPageNumber > 1 {
|
||||
data.PreviousPage = fmt.Sprintf("%d", currentPageNumber-1)
|
||||
} else {
|
||||
data.PreviousPage = `1`
|
||||
}
|
||||
}
|
||||
data.CurrentPage = currentPage
|
||||
} else {
|
||||
data.CurrentPage = `*`
|
||||
data.CurrentPage = `1`
|
||||
data.LastPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
if currentPageNumber+1 > lastPageNumber {
|
||||
data.NextPage = fmt.Sprintf("%d", lastPageNumber)
|
||||
} else {
|
||||
data.NextPage = `2`
|
||||
}
|
||||
data.PreviousPage = `1`
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user