{"_id":"log-sink-server","_rev":"26-9909ae807b119073489695ad2ba7b81b","name":"log-sink-server","description":"A service for streaming, storage and query of log data","dist-tags":{"latest":"5.0.0"},"versions":{"0.1.0":{"name":"log-sink-server","version":"0.1.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A log service, for streaming, storage and queries of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/sitegui/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","commander":"^2.5.1","mongoose":"^3.8.21"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","docs":"jsdoc -d docs -c docs.json -R README.md","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"jsdoc":"^3.3.0-alpha13","mocha":"^2.1.0","should":"^4.4.1"},"gitHead":"8a83a9b0094d88ef98263de73bcca69d762d2030","bugs":{"url":"https://github.com/sitegui/log-sink-server/issues"},"homepage":"https://github.com/sitegui/log-sink-server","_id":"log-sink-server@0.1.0","_shasum":"b8a731e2c51b6b1c1ed6299f8dff35e3d8556ec1","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"b8a731e2c51b6b1c1ed6299f8dff35e3d8556ec1","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-0.1.0.tgz","integrity":"sha512-nxnwxVTkfI7dAfiwaKY7tV069BTo3uVWF87Z7faUg24fZAe31YyYOUARUp4Do98qxKBa7E6IldH47K99aPkCDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOpAXKOEU4d9bSWTqIhDnwa8XZg4QWZ8Enq1JfYR6dBAiEAvA+/D4ssxqf7NwEIGZnJpfyR+8mxR4y360RxU9d5cK4="}]},"directories":{}},"0.1.1":{"name":"log-sink-server","version":"0.1.1","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A log service, for streaming, storage and queries of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/sitegui/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","commander":"^2.5.1","mongoose":"^3.8.21"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","docs":"jsdoc -d docs -c docs.json -R README.md","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"jsdoc":"^3.3.0-alpha13","mocha":"^2.1.0","should":"^4.4.1"},"gitHead":"d9d214a648632128b9b71e5301aad60d04d00a1f","bugs":{"url":"https://github.com/sitegui/log-sink-server/issues"},"homepage":"https://github.com/sitegui/log-sink-server","_id":"log-sink-server@0.1.1","_shasum":"c9fdbfe5ce1e6487691bd9a879680f907b442e92","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"c9fdbfe5ce1e6487691bd9a879680f907b442e92","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-0.1.1.tgz","integrity":"sha512-IKyGerj2hKH6IFDLfOYYo7j9Y9uuuUakp8q0WG5BNbcZsbLlKxIc5ZPPcc4jhYQgO/DQiqRa4++ZOt/zAfvblA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0u3XX775RKsMPFTafvVmSAnFUBbJxhGcJJtX6kDSyMAiAkdXyxbkreBLc4XjeXxsfzjGia9JnIHpCtOlbQw8qeFg=="}]},"directories":{}},"0.2.0":{"name":"log-sink-server","version":"0.2.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A log service, for streaming, storage and queries of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/sitegui/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","commander":"^2.5.1","mongoose":"^3.8.21"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","docs":"jsdoc -d docs -c docs.json -R README.md","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"jsdoc":"^3.3.0-alpha13","mocha":"^2.1.0","should":"^4.4.1"},"gitHead":"0fc4fafc91efeff3e4c78f77256c5780993d6312","bugs":{"url":"https://github.com/sitegui/log-sink-server/issues"},"homepage":"https://github.com/sitegui/log-sink-server","_id":"log-sink-server@0.2.0","_shasum":"955b832162235331d936cb223896c4e7c68860dc","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"955b832162235331d936cb223896c4e7c68860dc","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-0.2.0.tgz","integrity":"sha512-am/5NRONhJf5+YI6tqQRKd9CNtBAsOu6S5E1ztEFUsPSfTm5dsU6STxo9Ez8myN7+lR7SPiUBO7FbfEkg0XKIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVCvY2haphd0SgzBc7R6k7SKudUZrCW7OxyaKpa9w7AAiEAgWrG5yLkZU1KoW2Vf78z5WD+ficoONx8SN/1zJRXfT4="}]},"directories":{}},"0.3.0":{"name":"log-sink-server","version":"0.3.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/sitegui/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","body-parser":"^1.10.1","commander":"^2.5.1","express":"^4.10.6","mongoose":"^3.8.21","validate-fields":"^1.3.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","docs":"jsdoc -d docs -c docs.json -R README.md","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"jsdoc":"^3.3.0-alpha13","mocha":"^2.1.0","should":"^4.4.1"},"gitHead":"dbf125b7dd458392f48a6ebe0f364dc2a9481346","bugs":{"url":"https://github.com/sitegui/log-sink-server/issues"},"homepage":"https://github.com/sitegui/log-sink-server","_id":"log-sink-server@0.3.0","_shasum":"9704a07365c43e6d320b73ef1b39c9d16333f002","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"9704a07365c43e6d320b73ef1b39c9d16333f002","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-0.3.0.tgz","integrity":"sha512-GE5I2yb/7S4C+WGRNsiI7XWr1LCYtAddz6ApsEZRo7yQyQQAHjInWojJvIUOpO8ZlZHQtFnzelocQQlOK0CaDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFufJxwskrNjpcODNT9PX+esBgMb5A5eBXZeus61qV9AAiAh9b8HMDlNXuX16TDkVxBuYEy99pEgCxpmWoRS8tEpTw=="}]},"directories":{}},"1.0.0":{"name":"log-sink-server","version":"1.0.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/clubedaentrega/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","body-parser":"^1.10.1","commander":"^2.5.1","express":"^4.10.6","mongoose":"^3.8.21","validate-fields":"^1.3.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.1.0","request":"^2.51.0","should":"^4.4.1"},"gitHead":"d53fcf543f3d79be873ffd9946cf194da6d4878f","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server","_id":"log-sink-server@1.0.0","_shasum":"e59fa521a77e26521f10b58263821383f26d508f","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"e59fa521a77e26521f10b58263821383f26d508f","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-1.0.0.tgz","integrity":"sha512-4L9XelN5LcBOpsXY8hon445NUTaVqNJVoDaGKbVf/RhcoVKxlx7CqRxwuOMbHhU6OSPNdDz24xi/TxRjuxPhlw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcV71l06ymRu6VVD8Phe0gMEj0b2knUb1aTquHNrUDmAIgdd9WxHSOrorqllOTMvIcu/EjDopCuI/ZRIsNXpQjZxw="}]},"directories":{}},"1.1.0":{"name":"log-sink-server","version":"1.1.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/clubedaentrega/log-sink-server"},"keywords":["log","stream","mongodb"],"dependencies":{"asynconnection-node":"^0.1.0","body-parser":"^1.10.1","commander":"^2.6.0","express":"^4.10.6","mongoose":"^3.8.21","validate-fields":"^1.3.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.1.0","request":"^2.51.0","should":"^4.4.2"},"gitHead":"d6a3cba23e8bd1beac7ddee39ab52e85fcab4261","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server","_id":"log-sink-server@1.1.0","_shasum":"89f6d4341e2f28c332b6027dc7dd40372aefb10a","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"89f6d4341e2f28c332b6027dc7dd40372aefb10a","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-1.1.0.tgz","integrity":"sha512-Y9BE0DpX7pwHW6b8gqg0O9EwlkxI3cEZ0clUJJEMoADPwLmouKiUscwMw0jcEkt9FehvMCWjXDg64drdcVPICA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDdBjGZXoTAzZLgoPhUsGdYsb6uJ2Ng8G3xrDSEmx2p7AiAzlnnYRbPaFFC+YhhRA2HlyHR0MrCyKSBxHLcxhANUzQ=="}]},"directories":{}},"1.2.0":{"name":"log-sink-server","version":"1.2.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/clubedaentrega/log-sink-server"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.10.1","commander":"^2.6.0","express":"^4.11.0","mongoose":"^3.8.21","validate-fields":"^1.3.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.1.0","request":"^2.51.0","should":"^4.6.0"},"gitHead":"2e117e4a4aef5366725ddfd540efcd851f5678fd","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server","_id":"log-sink-server@1.2.0","_shasum":"d3b905ba8b662c2262594993778d7dcbd61b0e2c","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"d3b905ba8b662c2262594993778d7dcbd61b0e2c","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-1.2.0.tgz","integrity":"sha512-HmdNF2LwaFWrsvVKwPSWcKxCUNHhauBWw+ydFTr5z6q+gZUD2FTornwyNmRUSNNvKPLjDzcWE9TcZo6EyoWCWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+OPrrp04UgW2+LuIV2aLEsLzFKevJl4zwNCPK8cz/7wIgEARE/Z/qfVtGksNh23L1cNusJt/kE3+lwQYOrXn/2k8="}]},"directories":{}},"1.3.0":{"name":"log-sink-server","version":"1.3.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"https://github.com/clubedaentrega/log-sink-server"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.12.3","chalk":"^1.0.0","commander":"^2.8.0","express":"^4.12.3","mongoose":"^4.0.1","validate-fields":"^2.0.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.2.4","request":"^2.55.0","should":"^6.0.1"},"gitHead":"e89ba9bc9652bf87b98c0736f0257422dd09f073","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server","_id":"log-sink-server@1.3.0","_shasum":"23d635cd3be556d7f0572a3c5c1e48ac270b0412","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.0","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"dist":{"shasum":"23d635cd3be556d7f0572a3c5c1e48ac270b0412","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-1.3.0.tgz","integrity":"sha512-lX+TP7cAH0HU5TY/k3CLmH99soD7IbOe+adaGauW8kve8dWCPzfKWSXZDdDymU2pBTM/TMBTPLZoWjiN3iKSBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGGdeBMPJe+KwU65tFEaxF3MyYCI2cgHDj0WG04gIzjpAiBa1yHM5K4H+qVU+e2EfrIkfWTbHzIwAigXYEslkdxweA=="}]},"directories":{}},"1.3.1":{"name":"log-sink-server","version":"1.3.1","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.13.2","chalk":"^1.1.0","commander":"^2.8.1","express":"^4.13.1","mongoose":"^4.1.0","validate-fields":"^3.3.0"},"license":"MIT","engines":{"node":">=0.10"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.2.5","request":"^2.60.0","should":"^7.0.2"},"gitHead":"4efebb7bc3fb652dce510103da39a348afdce35e","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@1.3.1","_shasum":"279cda23c1b4abd83b720f8d575f6dc7f058a474","_from":".","_npmVersion":"2.11.1","_nodeVersion":"0.12.7","_npmUser":{"name":"sitegui","email":"sitegui@sitegui.com.br"},"dist":{"shasum":"279cda23c1b4abd83b720f8d575f6dc7f058a474","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-1.3.1.tgz","integrity":"sha512-SoQ0LldGnQsImH86TdZbNZNh32KhWRyajCz5AOI5QkyRStqE3Aq+yNQl398dPmp2h/WbojmV0j2xa4DcIr3UWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLy/5iWpwSnHyEMRluI9X/PBusFTi7YOO/1TW61gZkegIgdFOJR9IGIjUYaErixoHpLIoibGhsFnde+pJlW9IAAGw="}]},"maintainers":[{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"directories":{}},"2.0.0":{"name":"log-sink-server","version":"2.0.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.13.2","chalk":"^1.1.0","commander":"^2.8.1","express":"^4.13.1","mongoose":"^4.1.0","validate-fields":"^3.3.0"},"license":"MIT","engines":{"node":">=0.12"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.2.5","request":"^2.60.0","should":"^7.0.2"},"gitHead":"a6bf711d390c8201d8c887dfcdead5d9e1f38564","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@2.0.0","_shasum":"50d64fb70dfc083e37561baef7f0e836175db7ac","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"shasum":"50d64fb70dfc083e37561baef7f0e836175db7ac","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-2.0.0.tgz","integrity":"sha512-RN03bFs2+nuR4tLwedjrTxeUVFzLBPxWfsgy/ojSJSUs3KHmSF7Hmxxi3MtUjNqWFBrj7AMTjzwZnCxA5aCc+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEETwQ4/wxsWpFGci0JCHg0hj83tj5uT8It9o/J9qpvkAiBf+LT06l5ySNY8dRMjIE4C3LQWWU63iuP7jeIDXDVY7g=="}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"directories":{}},"3.0.0":{"name":"log-sink-server","version":"3.0.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.14.1","chalk":"^1.1.1","commander":"^2.9.0","express":"^4.13.3","mongoose":"^4.2.3","validate-fields":"^3.3.1"},"license":"MIT","engines":{"node":">=0.12"},"scripts":{"test":"mocha test","start":"forever start -l forever.log -a -o out.log -e err.log index.js"},"devDependencies":{"mocha":"^2.3.3","request":"^2.65.0","should":"^7.1.1"},"gitHead":"3313767519eef2bb0bd87fe03e28267e65ca94dc","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@3.0.0","_shasum":"a1f11691983e74d57866e80cab997d6947b576fb","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"shasum":"a1f11691983e74d57866e80cab997d6947b576fb","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-3.0.0.tgz","integrity":"sha512-d2p7TwnA+DyMffZLZdUXoSN1VBjWFhoT6p2N994J3EHUFczOv567vX22KAyFe1GWlSxAkhjjuXt6E0fz8SVB0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUWnHlr3KDwqMu2pVggnd8cdSNltj3USA8uuEadFSnXQIhAOC7eQdBxrauKCppxH3ZqCpAlSWj1ni8Q+dx/uTr/d/Y"}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"directories":{}},"4.0.0":{"name":"log-sink-server","version":"4.0.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.14.2","chalk":"^1.1.1","commander":"^2.9.0","express":"^4.13.4","mongoose":"^4.3.6","validate-fields":"^3.4.0"},"license":"MIT","engines":{"node":">=0.12"},"scripts":{"test":"mocha test","start":"pm2 startOrRestart pm2.json"},"devDependencies":{"mocha":"^2.3.4","request":"^2.67.0","should":"^8.1.1"},"gitHead":"14fa1bd7ad370b1c74967d91d37c2333cadc0fae","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@4.0.0","_shasum":"73a3b850a44dbd53167a6069f5d8f999fc580d24","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"shasum":"73a3b850a44dbd53167a6069f5d8f999fc580d24","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-4.0.0.tgz","integrity":"sha512-ZYcuS2mxys38N8GJPUZDt+dW54O7m+cMwarKIJzPLCClRbnix5HqGrapEnZBOZPt9g8Aj/usjbVfMBrFnIfIeg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPFKuGhwKUx12pXpN2fBwmsAF1Ou/XGVBW9qHsthe3ZQIgHbVjUOIep8JoIjAX9UyWV4c1w1JeBKfFjNm/VdLfYog="}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"directories":{}},"4.1.0":{"name":"log-sink-server","version":"4.1.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.15.0","chalk":"^1.1.1","commander":"^2.9.0","express":"^4.13.4","mongoose":"^4.4.7","validate-fields":"^3.4.0"},"license":"MIT","engines":{"node":">=0.12"},"scripts":{"test":"mocha test","start":"pm2 startOrRestart pm2.json"},"devDependencies":{"mocha":"^2.4.5","request":"^2.69.0","should":"^8.2.2"},"gitHead":"428b7d5dd464ce2ec49935dd132fcf7d38baa34b","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@4.1.0","_shasum":"9b41d8f1783c95d2ca065244fe52c7e435133975","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.0","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"shasum":"9b41d8f1783c95d2ca065244fe52c7e435133975","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-4.1.0.tgz","integrity":"sha512-f5ph9X2JbWUEuE9SVmKdmQ9c8c8lp7lKzNFSafB25vLGl5FG3O9+8e563fHkcW6stksXuRAozY3g+C16TNs2cA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIADjjbsHJjoZlpVXFcIB4nIbWzhxp4gHlThIcpWR50hMAiBGyy3/3AiE97wnWhAjF5l3Nv65oB5skYT4kSzlQK3zDw=="}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/log-sink-server-4.1.0.tgz_1457978133185_0.6580532193183899"},"directories":{}},"4.1.1":{"name":"log-sink-server","version":"4.1.1","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"asynconnection":"^0.1.0","body-parser":"^1.15.2","chalk":"^1.1.3","commander":"^2.9.0","express":"^4.14.0","mongoose":"^4.5.8","validate-fields":"^3.6.1"},"license":"MIT","engines":{"node":">=0.12"},"scripts":{"test":"mocha test","start":"pm2 startOrRestart pm2.json"},"devDependencies":{"mocha":"^3.0.1","request":"^2.74.0","should":"^10.0.0"},"gitHead":"8070f8ecc56f169aaa1f9ce1bcde51814f5f6dae","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@4.1.1","_shasum":"ae1cabfac1697a95816d22752c8ae9492898bff4","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"shasum":"ae1cabfac1697a95816d22752c8ae9492898bff4","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-4.1.1.tgz","integrity":"sha512-/SSiCNZqwlKnKVy9ezOww1m24HNf4TjUbRf/xU5SRJsjeClYXL3XtW6rNs/OnFRUArN3hp078Kg6KnUF6z74SA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEtCl+8MEp/xz+ossXNaIrNaNza/0TtpYhALt+98dB/UAiEA6XwGLiux5iiGmuIs4sYE0bkf+IO6PaOKwBWFNKavWaw="}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/log-sink-server-4.1.1.tgz_1470599535436_0.48026906116865575"},"directories":{}},"5.0.0":{"name":"log-sink-server","version":"5.0.0","author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"description":"A service for streaming, storage and query of log data","main":"./index.js","repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"keywords":["node","server","log","stream","mongodb"],"dependencies":{"async":"^2.6.0","asynconnection":"^1.0.0","body-parser":"^1.18.2","chalk":"^2.3.2","commander":"^2.15.1","express":"^4.16.3","mongoose":"^5.0.11","validate-fields":"^3.7.1"},"license":"MIT","engines":{"node":">=6"},"scripts":{"test":"mocha test --exit -t 10000","start":"pm2 startOrRestart pm2.json"},"devDependencies":{"mocha":"^5.0.4","request":"^2.85.0","should":"^13.2.1"},"gitHead":"13d29aeae8ec775c96da7c4e4eb0f7b44fa5403f","bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","_id":"log-sink-server@5.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},"dist":{"integrity":"sha512-OaG/J9CGw06qnMPiefAqOEtWpTxYTG2In+S0yih2XiWBnCjUd5ST1yhP2SiDKBO9T0hRtElqNn/Oc1XymKgn6A==","shasum":"3ee30a6824b638d721618a79002b9914ff89902a","tarball":"https://registry.npmjs.org/log-sink-server/-/log-sink-server-5.0.0.tgz","fileCount":34,"unpackedSize":60170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFjdLIGgolpZAx+LO3z4lfkCVGSp4n3SZl8jQhsNwIM1AiB2nhTZM7DH43RDKy5z2xJd+crD5Onynf98F1Z3aXun6Q=="}]},"maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/log-sink-server_5.0.0_1521642131916_0.8926671225552829"},"_hasShrinkwrap":false}},"readme":"# Log Sink Server\r\n[![Build Status](https://travis-ci.org/clubedaentrega/log-sink-server.svg?branch=master)](https://travis-ci.org/clubedaentrega/log-sink-server)\r\n[![Dependency Status](https://david-dm.org/clubedaentrega/log-sink-server.svg)](https://david-dm.org/clubedaentrega/log-sink-server)\r\n\r\nA service for streaming, storage and query of log data.\r\n\r\nThis is the server-side implementation. For a nodejs implementation of the client-side, see [log-sink](https://github.com/clubedaentrega/log-sink).\r\n\r\n## Install\r\n1. Clone [the repo](https://github.com/clubedaentrega/log-sink-server)\r\n2. Copy the file `example-config.js` to `config.js` and edit what you want\r\n3. Start with `node index` or, if you have `forever`, `npm start`\r\n\r\n## Features\r\n* accept incoming stream of log data from producers\r\n* route and stream log data to consumers, based on filters set by them\r\n* save data for querying later\r\n* native support for secure connections (TLS)\r\n* simple and useful permission model\r\n* offer a simple (non-streaming) api over HTTPS\r\n\r\n## Core concepts\r\nThis service was created with some core design principles, explained bellow\r\n\r\n### Streaming\r\nUsing a model based on streaming data reduces overhead when compared to request-response, since there is no round-trip and only one connection is kept open.\r\n\r\nLog sink offers two live streams:\r\n\r\n* for producers, to send log data this service\r\n* for consumers, to receive log data routed by this service\r\n\r\n### Standard log format\r\nLog sink does not enforce a rigid log format, but offers some standard fields that it optimizes for. Those fields are divided in two groups:\r\n\r\n* Required:\r\n\t* origin: name of the app which created it (auto-filled for you)\r\n\t* date: a date set by the log producer (generally the generation date)\r\n\t* name: the action name related with the log (like an endpoint or routine name)\r\n\t* level: the log level (info, warn, etc)\r\n* Optional:\r\n\t* time: any time measurement related with the log (like execution time)\r\n\t* message: any text with more details\r\n\t* commit: revision name of the code that created this log\r\n\r\nAside these standard fields, there is a 'anything fits' field, called `extra`.\r\n\r\nUse of standard fields is encouraged, since both transmission and query is faster and slimmer on them.\r\n\r\n### Relevance\r\nLog sink divides all log data in three groups, based on their relevance: bellow normal, normal and above normal. Logs with different relevance level are stored and indexed separately, improving querying on them.\r\n\r\nThis model was created to support a huge volume of not-so-relevant logs (eg, logs of pooling operations) mixed with some high-relevance logs (eg, logs of payments).\r\n\r\nFor more details on how storage deals with those relevance levels, read bellow.\r\n\r\n### Security\r\nLog sink gives native support for TLS connections, simply drop your own key and certificate path in the `config.json` file. Please note that (for testing), we include a self-signed certificate. *DO NOT USE them in practice, since those were made public and everybody knows its private key*\r\n\r\n### Permissions\r\nThe permission model is very simple and pragmatic:\r\n\r\n* Every consumer/producer must have an account. This is easy: `node index add-user <user>`\r\n* All accounts can write logs into the service and can read those back.\r\n* By default, the account can only read data itself has produced.\r\n* To allow reading logs created by another account run `node index add-permission <user> <permission>`\r\n\r\nSee CLI interface bellow for more.\r\n\r\n## Storage\r\nLog sink uses mongoDB to store its data. This is a initial decision and may change in the future as we experiment with other tecnologies.\r\n\r\nLogs with different relevance level are stored and indexed separately, improving querying on them. That is, logs are stored in three collections, based on their relevance.\r\n\r\nBellow normal and normal relevance logs are stored in capped collections, in order to avoid a huge growth in used space. High relevance logs are stored in a normal collection, so they are never removed.\r\n\r\nThe log sink software is not responsible for the database, it must be managed independently. The best topology is a replica set with the [read preference](http://docs.mongodb.org/manual/core/read-preference/) set to `'secondaryPreferred'`.\r\n\r\n## API\r\nThe API exposed by this service is built on top of [asynconnection](https://github.com/sitegui/asynconnection-core) protocol, a call-return/message protocol over tls.\r\n\r\nThe API is splitted in four parts:\r\n\r\n* [Write API](https://github.com/clubedaentrega/log-sink-server/blob/master/api.md#write-api): used to send log data to log sink\r\n* [Stream API](https://github.com/clubedaentrega/log-sink-server/blob/master/api.md#stream-api): streams live log data from producers to consumers\r\n* [Query API](https://github.com/clubedaentrega/log-sink-server/blob/master/api.md#query-api): query old log data\r\n* [Meta API](https://github.com/clubedaentrega/log-sink-server/blob/master/api.md#meta-api): get data about log sink service itself\r\n\r\nThe write API is also offered over HTTPS.\r\n\r\n## CLI\r\nThe log sink server offers a command line interface (CLI) to manage users and permissions. To use it, run `node index [command] [args...]` in the project folder. (Use `node index -h` for inline help)\r\n\r\nThe available commands are:\r\n\r\n### add-user\r\nAdd a new user to the system. All users can write data and read data created by itself. The user key (password) will be generated for you.\r\n```\r\nnode index add-user <user>\r\n```\r\n### add-permission\r\nAdd permission for a user to read data from another one\r\n```\r\nnode index add-permission <user> <permission>\r\n```\r\n### change-key\r\nGenerate another password for this user. Note that it never lets you pick you own password, to avoid human laziness resulting in stupid and weak password (sorry about that)\r\n```\r\nnode index change-key <user>\r\n```\r\n### list-users\r\nList all users, their permissions and last login datetime\r\n```\r\nnode index list-users\r\n```\r\n### remove-user\r\nremove a user from the system (their log data will be kept)\r\n```\r\nnode index remove-user <user>\r\n```\r\n### revoke-permission\r\nrevoke a permission from a user to read data from another one\r\n```\r\nnode index revoke-permission <user> <permission>\r\n```\r\n\r\n## Caveats\r\nSince mongoDB does not allow '$' and '.' in key names, they are [replaced](http://docs.mongodb.org/manual/faq/developers/#faq-dollar-sign-escaping) by '\\uFF0E' (＄) and '\\uFF04' (．) respectively. This only affects object key names in the extra field: `{a: 'a.b$c'}` is fine, but `{'a.b': 12}` will be saved as `{'a．b': 12}`","maintainers":[{"name":"clubedaentrega","email":"cde@clubedaentrega.com.br"},{"name":"sitegui","email":"sitegui@sitegui.com.br"}],"time":{"modified":"2022-06-19T13:45:25.658Z","created":"2014-12-30T17:27:41.405Z","0.1.0":"2014-12-30T17:27:41.405Z","0.1.1":"2015-01-03T14:40:53.989Z","0.2.0":"2015-01-04T07:56:13.731Z","0.3.0":"2015-01-04T10:30:06.519Z","1.0.0":"2015-01-04T18:28:22.447Z","1.1.0":"2015-01-04T19:05:56.317Z","1.2.0":"2015-01-17T18:49:08.224Z","1.3.0":"2015-04-21T22:25:05.588Z","1.3.1":"2015-07-25T19:52:27.177Z","2.0.0":"2015-09-19T04:45:19.479Z","3.0.0":"2015-11-01T20:58:05.033Z","4.0.0":"2016-01-23T17:57:47.933Z","4.1.0":"2016-03-14T17:55:35.416Z","4.1.1":"2016-08-07T19:52:17.665Z","5.0.0":"2018-03-21T14:22:12.091Z"},"homepage":"https://github.com/clubedaentrega/log-sink-server#readme","keywords":["node","server","log","stream","mongodb"],"repository":{"type":"git","url":"git+https://github.com/clubedaentrega/log-sink-server.git"},"author":{"name":"Sitegui","email":"sitegui@sitegui.com.br"},"bugs":{"url":"https://github.com/clubedaentrega/log-sink-server/issues"},"license":"MIT","readmeFilename":"README.md"}