Net Possibility Multiplier
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


    Daemon Wrapper

    This utility module was built specifically to standardize behavior across node-windows, node-mac, and node-linux.


    There are two main components, the Controller and the Logger. The Controller monitors and manages the node script. The logger wraps general logging, making it easier to output to the native system and error logs.

    Controller Features

    Logger Features

    Custom Functions

    The manager.Logger singleton class allows developers to replace console methods with their own functions for:

    • log()
    • info()
    • dir()
    • warn()
    • error()
    • time()
    • timeEnd()
    • assert()

    If these methods aren't overridden, the default methods from console will be used.

    Strip Console Colors

    The logger also has a configuration attribute called stripColors, which will strip any console color information from the logs. This is useful when a script should output color-coded information to the screen during development, but not in production.

    Pre/Postfix Messages

    The logger can optionally prefix and postfix messages with static text. For example, if the info log should have the word INFO: before each message, it can be configured like:

        var logger = new manager.Logger({
            preInfo: 'INFO: ',
            postInfo: ' << End Info`
       'my message');  // <--- Outputs Info: my message << End Info

    Each method has a pre and post configuration option.

    Variable Replacement

    The logger has a unique configuration option called findReplace. This can be used to find and replace text in a log message. For example, the following configuration will put the date in front of every log:

        var logger = new manager.Logger({
            preLog: '[DATE]: ',
            findReplace: {
                '[DATE]': function(msg){
                    return (new Date()).toLocaleString();
        logger.log('my message'); // <-- Outputs Mon Nov 25 2013 20:35:01 GMT-0600 (Central Standard Time): my message

    The date in the aforementioned example would of course be the current date.




    npm i daemon-manager

    Downloadsweekly downloads








    last publish


    • avatar