Skip to content

kevin-ip/frontail

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

frontail – streaming logs to the browser

frontail is a Node.js application for streaming logs to the browser. It's a tail -F with UI.

Build Status Version

Quick start

Features

  • log rotation
  • auto-scrolling
  • marking logs
  • number of unread logs in favicon
  • themes (default, dark)
  • highlighting
  • search (Tab to focus, Esc to clear)
  • tailing multiple files and stdin
  • basic authentication

Installation

npm i frontail -g

or use Docker image

docker run -d -P -v /var/log:/log mthenw/frontail /log/syslog

Usage

frontail [options] [file ...]

Options:

  -h, --help                    output usage information
  -V, --version                 output the version number
  -h, --host <host>             listening host, default 0.0.0.0
  -p, --port <port>             listening port, default 9001
  -n, --number <number>         starting lines number, default 10
  -l, --lines <lines>           number on lines stored in browser, default 2000
  -t, --theme <theme>           name of the theme (default, dark)
  -d, --daemonize               run as daemon
  -U, --user <username>         Basic Authentication username, option works only along with -P option
  -P, --password <password>     Basic Authentication password, option works only along with -U option
  -k, --key <key.pem>           Private Key for HTTPS, option works only along with -c option
  -c, --certificate <cert.pem>  Certificate for HTTPS, option works only along with -k option
  --pid-path <path>             if run as daemon file that will store the process id, default /var/run/frontail.pid
  --log-path <path>             if run as daemon file that will be used as a log, default /dev/null
  --ui-hide-topbar              hide topbar (log file name and search box)
  --ui-no-indent                don't indent log lines
  --ui-highlight                highlight words or lines if defined string found in logs, default preset
  --ui-highlight-preset <path>  custom preset for highlighting (see ./preset/default.json)

Web interface runs on http://127.0.0.1:[port].

Tailing multiple files

[file ...] accepts multiple paths, *, ? and other shell special characters(Wildcards, Quotes, Back Quotes and Apostrophes in shell commands).

stdin

Use - for streaming stdin:

./server | frontail -

Highlighting

--ui-highlight option turns on highlighting in UI. By default preset from ./preset/defatult.json is used:

{
    "words": {
        "err": "color: red;"
    },
    "lines": {
        "err": "font-weight: bold;"
    }
}

which means that every "err" string will be in red and every line containing "err" will be bolded.

New presets are very welcome. If you don't like default or you would like to share yours, please create PR with json file.

Screenshot

screenshot1

About

streaming logs to the browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.0%
  • HTML 3.1%
  • CSS 2.9%