automatic log transform and import to mongodb

Usage no npm install needed!

<script type="module">
  import log2mongo from 'https://cdn.skypack.dev/log2mongo';


build status

**注意:**Travis-ci 的执行 path 好奇怪,大家用拉下来执行 `npm test` 吧


import JSON to mongodb, associate with sofish/log2json to manage nginx logs.

$ npm install log2mongo -g


It's a command line tool and should install with the -g flag.

$ log2mongo config.js

The config.js should be a node module like this:

module.exports = {
  "db": "db-name",
  "host": "",
  "collection": "collection",       // {function|string} collection to insert, or a function returns a string

  "dir": "dir/contains/logs",       // where to find logs
  "skip": skip(filename)            // {function} [optional] a function return Boolean, when True, file ignored
  "separator": "•-•",               // separator of your (nginx/apache/whatever) log fields
  "map": [],                        // map with log fields that create by `split(separator)`

  "username": "sofish",             // [optional] db username
  "password": "***"                 // [optional] db password


Simply run npm test to see what happens.