watchfolder-jet

    2.1.59 • Public • Published

    Usage (I hope...)

    Tails all logs in a directory including those created when the program is running.

        const jet = require("watchfolder-jet").watch(
            "/var/log/my-logs/"
        ).filter(
            (file) => (file.action === 'add' || file.action === 'create') && file.isReadable
        ).map(
            (file) => tail(file).pipe(new scramjet.StringStream())
                .split("\n")
        ).reduceNow(
            (acc, file) => (acc.add(file)),
            new scramjet.MultiStream([])
        ).mux(
            // comparator for log lines (just for the example, there should be no need for this except for a couple first lines)
            (lineA, lineB) => new Date(lineA.split(" ").slice(0,2).join(" ")) - new Date(lineB.split(" ").slice(0,2).join(" "))
        ).pipe(
            process.stdout
        );

    API

    require("watchfolder-jet").watch(directory);
    

    Watches a directrory for changes

    require("watchfolder-jet").finished(directory, {/* options */ timeout: 10000});
    

    Watches a directory for completed files only.

    Stream objects

    The streamed objects have the following structure:

        {
            action: "",    // The action that happened on the file, one of the following:
                           //     ["add", "create", "remove", "change"];
            filename: "",  // The changed filename (full path)
            stat: {},      // The up to date stat
            prevstat: {}   // The previous stat (only on "change")
        }

    License and contributions

    The module is released under the condition of the MIT license. Please see the attached LICENSE.

    Keywords

    none

    Install

    npm i watchfolder-jet

    DownloadsWeekly Downloads

    68

    Version

    2.1.59

    License

    MIT

    Unpacked Size

    15.3 kB

    Total Files

    14

    Last publish

    Collaborators

    • patu
    • scramjetorg
    • michalcz
    • stoq