Skip to content
LogVoyage - logging SaaS written in GoLang
Branch: master
Clone or download
Latest commit 1871c23 May 24, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend
commands
common
screenshots
static
web
web_socket
.gitignore
.travis.yml
Gruntfile.js
LICENSE
main.go
package.json
readme.md

readme.md

No longer maintained, sorry. Completely rewritten v2 is going to be released soon. Please follow http://github.com/logvoyage

LogVoyage - fast and simple open-source logging service

LogVoyage allows you to store and explore your logs in real-time with friendly web ui.

Dashboard Live logs

  • Gitter
  • Click here to lend your support to: LogVoyage and make a donation at pledgie.com !
  • TravisCI

Table of Contents generated with DocToc

Installation

Pre-Requirements.

Installing

Installing LogVoyage is as easy as installing any other go package:

go get github.com/firstrow/logvoyage
logvoyage create_users_index

Usage

Once you installed LogVoyage you need to start backend and web servers.

logvoyage start-all

Or you can start/stop servers separately

logvoyage backend
logvoyage web

Once server started you can access it at http://localhost:3000. Execute logvoyage help for more info about available commands.

Sending data to storage

By default LogVoyage opens two backend ports accesible to the outsise world.

  1. 27077 - TCP port
  2. 27078 - HTTP port

Telnet

NOTE: Keep in mind to change `API_KEY` and `LOG_TYPE`.
You can find your api key at http://localhost:3000/profile page.
telnet 127.0.0.1 27077
API_KEY@LOG_TYPE {"message": "login", "user_id": 1}
API_KEY@LOG_TYPE simple text message

Now you can see your messages at http://localhost:3000 and try some queries

Curl

Or we can use curl POST request to send messages. Each message should be separated by new line.

echo 'This is simple text message' | curl -d @- http://localhost:27078/bulk\?apiKey\=API_KEY\&type\=LOG_TYPE
echo '{"message": "JSON format also supported", "action":"test"}' | curl -d @- http://localhost:27078/bulk\?apiKey\=API_KEY\&type\=LOG_TYPE

Search data

Refer to Query String Syntax for more info about text queries available.

Examples:

user_id:1
simple*
amount:>10 and status:completed

Third-party clients

If you know any programming language, you can join our project and implement LogVoyage client.

Submitting a Pull Request

  1. Propose a change by opening an issue.
  2. Fork the project.
  3. Create a topic branch.
  4. Implement your feature or bug fix.
  5. Commit and push your changes.
  6. Submit a pull request.

Front-end development

Bower

To manage 3rd-party libraries simply add it to static/bower.json and run

bower install

Building

We are using grunt to build project js and css files. Execute next commands to setup environment:

npm install
grunt

After grunt is done, you can find result files in static/build directory.

Auto rebuild

To automatically rebuild js, css, coffee, less files simply run in console

grunt watch

WebSocket messages

// Sample coffescript code
PubSub.subscribe "log_message", (type, data) ->
  console.log data.message

Sample messages:

{
	"type": "log_message",
	"log_type": "nginx_access",
	"message": "test received log message goes here..."
}
{
	"type": "logs_per_second",
	"count": 5
}

Roadmap v0.1

  • Daemons
  • Zero-downtime deployment
  • Finish web ui
  • Docker image
  • Docs

License

LogVoyage is available without any costs under an MIT license. See LICENSE file for details.

You can’t perform that action at this time.