It has been replaced by Parsley.
Lobster is a log viewer implemented as a React-based frontend. As such its an easy to extend system. It also includes a node based backend to view local log files or cache the results locally.
Lobster can:
- search any bookmarked, filtered, or otherwise visible lines by regexp (the "Find" button). If the regexp finds multiple occurrences in the same log line, it will only count one, but it will highlight them all
- apply one or more regexp filters to the log lines (the "Add Filter" button)
- enable and disable individual filters
- match or inverse match filters
- cache the recently accessed files locally to improve load time
- view locally-stored log files
- double click on a line to bookmark (or unbookmark) that line and click on that line number on the left-hand side to jump to it
- click on the "Wrap" toggle to turn line wrapping on and off
- pre-format all bookmarked lines for display in JIRA. The JIRA text area contains the formatted bookmark content
- ...and more!
git clone https://github.com/evergreen-ci/lobster.git
cd lobster
npm install
npm build
node server --logs ./path/to/local/logs
You can now view lobster by going tohttp://localhost:9000/lobster?server=localhost:9000/api/log
.
Type node server --help
for additional options, including the option to bind
to 0.0.0.0
The root directory for the local server is build./build
, so you can place local log files in this directory to allow them to be resolved by the local server.
- ./src/actions: Redux actions, including their typedefs
- ./src/api: functions for interacting with APIs
- ./src/components: React components
- ./src/models: typedefs for various structures that are not actions
- ./src/reducers: Redux action processors aka. reducers
- ./src/selectors: Redux selectors (functions to compute derived state, or simply get state from the store)
- ./src/sagas: redux sagas (asynchronous code like API fetches)
- ./src/thirdparty: directory for vendoring 3rd party code that requires an ES6 compatible minifier (which create-react-app doesn't support)
For development use, after running npm install
, simply run npm start
. This
will automatically recompile your code and refresh the browser
npm build
will place build artifacts inside the build
directory
The testing framework is Jest, with Enzyme.
To run in local development:
npm test
This will watch the lobster development directory for changes, and automatically retest your code
The end-to-end tests can be run with npm run-scripts test:e2e
.
chromedriver
must be your system's path, and it must be able to start Chrome.
You can also run these tests with Firefox with npm run-scripts test:e2e -- --browser firefox
,
but geckodriver
must be in your path.
Flow is Facebook's static typing system for Javascript. You can run this
with npm run-scripts flow
.
npm run-scripts lint
to run the linter; npm run-scripts lint:fix
will fix automatically fixable lints