github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/vadmin/Logs.html (about) 1 <!-- Content managed by Project Forge, see [projectforge.md] for details. --> 2 {% import ( 3 "go.uber.org/zap/zapcore" 4 5 "github.com/kyleu/dbaudit/app" 6 "github.com/kyleu/dbaudit/app/controller/cutil" 7 "github.com/kyleu/dbaudit/app/util" 8 "github.com/kyleu/dbaudit/views/layout" 9 ) %} 10 11 {% code type Logs struct { 12 layout.Basic 13 Logs []*zapcore.Entry 14 } %} 15 16 {% func (p *Logs) Body(as *app.State, ps *cutil.PageState) %} 17 <div class="card"> 18 <h3>Recent Logs</h3> 19 {%= logTable(p.Logs) %} 20 </div> 21 {% endfunc %} 22 23 {% func logTable(logs []*zapcore.Entry) %} 24 <div class="overflow full-width"> 25 <table class="mt"> 26 <thead> 27 <tr> 28 <th>Level</th> 29 <th>Message</th> 30 <th>Occurred</th> 31 </tr> 32 </thead> 33 <tbody> 34 {%- for _, l := range logs -%} 35 <tr> 36 <td> 37 {%- code lv := l.Level.String() -%} 38 {%- switch lv -%} 39 {%- case "debug", "trace" -%} 40 <em>debug</em> 41 {%- case "error", "fatal" -%} 42 <div class="error">error</div> 43 {%- default -%} 44 {%s lv %} 45 {%- endswitch -%} 46 </td> 47 <td>{%s l.Message %}</td> 48 <td>{%s util.TimeRelative(&l.Time) %}</td> 49 </tr> 50 {%- endfor -%} 51 </tbody> 52 </table> 53 </div> 54 {% endfunc %}