Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Devrama/wonlog
Stream your local logs to browsers.
https://github.com/Devrama/wonlog
browser log logging logio monitoring rtail stream
Last synced: 7 days ago
JSON representation
Stream your local logs to browsers.
- Host: GitHub
- URL: https://github.com/Devrama/wonlog
- Owner: Devrama
- Created: 2019-11-17T19:46:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-06T15:14:30.000Z (over 1 year ago)
- Last Synced: 2024-04-24T08:26:38.226Z (7 months ago)
- Topics: browser, log, logging, logio, monitoring, rtail, stream
- Language: TypeScript
- Homepage:
- Size: 1.83 MB
- Stars: 5
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wonlog
Stream your local logs to browsers.
This project is inspired by [rtail](https://github.com/kilianc/rtail).
## Features
- stream raw text or JSON string logs to browser
- search logs by a keyword
- multiple log streams to a browser
- sort logs
- uses WebSocket## Screenshots
![Screenshot - darkmode](https://raw.githubusercontent.com/Devrama/wonlog/master/docs/assets/images/screenshot1.png)
![Screenshot - lightmode](https://raw.githubusercontent.com/Devrama/wonlog/master/docs/assets/images/screenshot2.png)
![Screenshot - search & settings](https://raw.githubusercontent.com/Devrama/wonlog/master/docs/assets/images/screenshot3.png)
![Screenshot - detail view](https://raw.githubusercontent.com/Devrama/wonlog/master/docs/assets/images/screenshot4.png)## Installing
Using npm:
```bash
$ npm install -g wonlog
```Using yarn:
```bash
$ yarn global add wonlog
```## How to use
### First, run a wonlog server
```bash
$ wonlog-server
```### Second, open your browser with `http://localhost:7979`
### Third, pipe your log to wonlog agents
```bash
# streaming output of you node server logs to wonlog agent
$ node your_express_server.js | wonlog-agent --stream-name='My First Log stream' --verbose# openning a log file to wonlog agent
$ cat log_file.txt | wonlog-agent --stream-name='My First Log stream' --verbose# streaming from a growing log file to wonlog agent
$ tail -F log_file.txt | wonlog-agent --stream-name='My First Log stream' --verbose# streaming from JSON to wonlog agent
$ echo '{ "foo": "bar" }' | wonlog-agent --stream-name='My First Log stream' --verbose
$ echo "{ foo: 'JSON5' }" | wonlog-agent --stream-name='My First Log stream' --verbose
```# JSON log format
## Reserved Properties
- `timestamp`: If `timestamp` property exists in a JSON formt log with either ISO Date string or the number of milliseconds elapsed since Janunary 1, 1970, `TIMESTAMP` column on wonlog screen shows it instead of the `timestamp` of current time.
- `message`: If `message` property exists in a JSON format log, `MESSAGE` column shows it instead of stringified log.
- `level`: If `level` property exists with values below in a JSON format log, `TIMESTAMP` column shows in different colors.
- `critical` or `fatal`
- `error`
- `warn` or `warning`
- `info`
- `debug`
- `trace`# CLI options
## `wonlog-server`
```bash
$ wonlog-server --help
Usage: wonlog-server [options]Options:
--webapp-host [host] WebApp Server host (default: "0.0.0.0")
--webapp-port [port] WebApp Server port (default: "7979")
--server-host [host] HTTP Server host (default: "0.0.0.0")
--server-port [port] HTTP Server port (default: "7978")
-h, --help display help for command
```## `wonlog-agent`
```
$ wonlog-agent --help
Usage: wonlog-agent [options]Options:
-h, --server-host [host] HTTP Server host (default: "127.0.0.1")
-p, --server-port [port] HTTP Server port (default: "7978")
-s, --stream-name [name] Stream name
-v, --verbose [type] Print logs (default: false)
--help display help for command
```# Running `wonlog-server` with Docker
```bash
$ docker pull devrama/wonlog:latest
$ docker run --name wonlog-server -d -p 7979:7979 -p 7978:7978 devrama/wonlog:latest
```