JSFiddle - React, Tailwind, and code Playground

HTML

<body>
    <div id="log" class="med_log"></div>
</body>

CSS

.med_log {
    margin: 25px;
    padding: 10px;
    width: 600px;
    height: 400px;
    background: black;
    color: red;
}

JavaScript

function LogSystem() {
    //default
    var _divId = "log";

    var _setting1 = "default stuff";
    this.setting2 = "default stuff as well";; //This is accessible!

    function _printLog(msg) {
        msg = msg || "";
        $("#" + _divId).append(msg + "<br/>");
    };

    //this is **not** accessible - bc of return object below?
    this.logSetting_priv = function () {
        _printLog("PRIV: Setting1 is: " + _setting1);
        _printLog("PRIV: Setting2 is: " + this.setting2);
    };
    /*
     *  Key Distinguishing feature of this pattern
     */
    return {
        printLog: function (msg) {
            console.log("PRINTING:" + msg);
            _printLog(msg);
        },
        logSetting_pub: function (pre) {
            pre = pre || ">";
            this.printLog(pre+"PUB: Setting1 is: " + _setting1);
            this.printLog(pre+"PUB: Setting2 is: " + this.setting2);
        },
        publicFunc2: function () {
            _setting1 = "Fixed Deal returnFunction";
            this.setting2 = "floating hamster";
        }
    };

};
//THIS DOESNT WORK!! . . . . bc of the return object??
LogSystem.prototype.publicFunc1 = function () {
    _setting1 = "Fixed Deal";
    this.setting2 = "floating midget";
};


/*******************************/
/*********Testing Code**********/
/*******************************/

$(document).ready(function () {

    var logInst = new LogSystem();
    //TESTING METHODS!
    try {
        logInst.publicFunc1(); //THIS DOESNT WORK!!
    } catch (e) {
        logInst.printLog("The call to the prototype function does not work - WHY?");
        logInst.publicFunc2();
    }

    try {
        logInst.logSetting_pub();
        logInst.logSetting_priv();
    } catch (e) {
        logInst.printLog("%% ERR!!: " + e.message);
    }

    //TESTING MEMBERS!
    logInst.printLog("We know this does not work? " + logInst._setting1); //undef
    logInst.printLog("Why Does THIS WORK? " + logInst.setting2); //def
    
   ...