logs-to-mqtt-publisher

A server-side JavaScript tool that converts log statements to topics/messages and publishes them to a mqtt broker.

Usage no npm install needed!

<script type="module">
  import logsToMqttPublisher from 'https://cdn.skypack.dev/logs-to-mqtt-publisher';
</script>

README

logs-to-mqtt-publisher

A server-side JavaScript tool that converts log statements to topics/messages and publishes them to an mqtt broker. This is intended to be used in docker, but could be consumed as an npm package.

npm version Build Status codecov Dependencies Dev Dependencies Peer Dependencies Known Vulnerabilities All Contributors

Example

Options
{
    log: true,
    logWatches: [
        {
            filePath: '/var/log/unifi-video/motion.log',
            logParses: [
                {
                    topicParse: {
                        regularExpression: '/motion|House West/g',
                        output: '{0}/{1}'
                    },
                    messageParse: {
                        regularExpression: '/start/g',
                        output: '{0}'
                    }
                }
            ]
        }
    ],
    mqtt: {
        host: 'localhost',
        port: '1883',
        username: 'broker',
        password: 'Ypl8%Q1X#4'
    }
}
docker-compose.yaml

Repository example: https://github.com/TonyBrobston/unifi-video-publisher-example

Documentation

start(options: Options): Promise‹void›
stop(): Promise‹void›

Feedback

Do you have an idea for making logs-to-mqtt-publisher better? Add your idea under the issues tab, we'd love to hear about it!

Contributors

Thanks goes to these wonderful people:

Tony Brobston
Tony Brobston

💻