EndFileLog.ds

Note: This code is provided as a sample. It isn't a supported part of the SiteGenesis application.
/***********************************************************  
 * Name: EndFileLog.ds
 *
 * Description:
 *  Resets FileLogger to stop writing all logging events to file.
 *  This replaces the FileLogger with a normal logger in the pdict.
 *
 * @input sampleLogger   : Object
 * @output sampleLogger  : Object
 * @output sampleError   : Object
 *
 ***********************************************************/
importScript("bc_sample:library/common/libContext.ds");
importScript("bc_sample:library/utility/exception/libsampleException.ds");
importScript("bc_sample:library/utility/logging/libLog.ds");



function execute(pdict: PipelineDictionary): Number {



    var _context: Context = new Context("EndFileLog.ds");
    var _logger: Log = pdict.sampleLogger;

    try {

        if (empty(_logger)) {

            throw new sampleException(_context,
                "No Log instance found. " +
                "Make sure the corresponding 'BeginFileLog' pipelet was set on this pipeline.");
        }

        _logger.debug(_context, "Now stopped logging to file.");

        if (FileLog.prototype.isPrototypeOf(_logger)) {

            // resets logger to the original instance  
            pdict.sampleLogger = _logger.getBaseLogger();
        } else {

            // resets logwriter on logger
            _logger.setLogWriter(null);
            pdict.sampleLogger = _logger;
        }
    } catch (e) {

        // Call into error handler
        _logger.error(_context, "Error occurred processing pipelet: " + e.message);

        // wrap error into custom exception
        var exception: sampleException = new sampleException(_context, "Error occured in pipelet", e);
        pdict.sampleError = exception;

        return PIPELET_ERROR;
    }

    return PIPELET_NEXT;
}
X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.