JSFiddle - React, Tailwind, and code Playground
by sushant_ceb
HTML
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Hello, {{name}}!
</div>
</div>
JavaScript
var myApp = angular.module('myApp', []);
myApp.config(['$provide', function($provide) {
$provide.decorator('$log', [
'$delegate',
function $logDecorator($delegate) {
enhanceLoggerFn($delegate);
return $delegate;
}
]);
}]);
function enhanceLoggerFn($log) {
console.log('1');
var enhanceLogger = function($log) {
var separator = "::",
/**
* Capture the original $log functions; for use in enhancedLogFn()
*/
_$log = (function($log) {
return {
log: $log.log,
info: $log.info,
warn: $log.warn,
debug: $log.debug,
error: $log.error
};
})($log),
/**
* Partial application to pre-capture a logger function
*/
prepareLogFn = function(logFn) {
/**
* Invoke the specified `logFn` with the supplant functionality...
*/
var enhancedLogFn = function() {
try {
var args = Array.prototype.slice.call(arguments);
// prepend a timestamp and optional classname to the original output message
//args[0] = supplant("{0} - {1}{2}", [now, className, args[0]]);
//args = colorify(supplant.apply(null, args), colorCSS);
console.log('2');
logFn.apply(null, args);
} catch (error) {
$log.error("LogEnhancer ERROR: " + error);
}
};
// Only needed to support angular-mocks expectations
enhancedLogFn.logs = [];
return enhancedLogFn;
},
/**
* Support to generate class-specific logger instance with classname only
*/
getInstance = function(className, colorCSS, customSeparator) {
className = (className !== undefined) ? className + (customSeparator || separator) : "";
var instance = {
log: prepareLogFn(_$log.log, className, colorCSS),
info: prepareLogFn(_$log.info, className, colorCSS),
warn:...