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 %}