javascript logger blackbird jquery 改造
var logger=BizPlant.namespace("logger");
logger.config={
??? pattern:"%d{yyyy-MM-dd HH:mm:ss,SSS} %p [%t] %c{1}.%M()| line:%L | %m%n",
??? level:"info"
};
$(document).ready(function(){
??? var enabled=true;
??? var level={
??????? debug: true,
??????? info: true,
??????? warn: true,
??????? error: true,
??????? profile: true
??? };
??? var COOKIE_KEY="BizPlantLogger";
??? var classes = {};
??? var profiler = {};
??? var spans = [];
??? var cache = [];
??? var IDs = {
??????? blackbird: 'blackbird',
??????? checkbox: 'bbVis',
??????? filters: 'bbFilters',
??????? controls: 'bbControls',
??????? size: 'bbSize'
??? }
??? var state=(function(){
??????? var bizPlantLoggerValue=$.cookie(COOKIE_KEY);
??????? if(bizPlantLoggerValue!=null && bizPlantLoggerValue!=""){
??????????? return JSON.parse(bizPlantLoggerValue);
??????? }else{
??????????? return {
??????????????? pos:1,
??????????????? size:0,
??????????????? load:true
??????????? };
??????? }
??? })();
???
??? var recordState=function(){
??????? $.cookie(COOKIE_KEY,JSON.stringify(state));
??????? var newClass = [];
??????? for (var word in classes ) {
??????????? newClass.push( classes[ word ] );
??????? }
??????? $("#"+IDs.blackbird).removeClass().addClass(newClass.join( ' ' ));
??? };
??? var? reposition=function( position ) {
??????? if ( position === undefined || position == null ) {
??????????? position = ( state && state.pos === null ) ? 1 : ( state.pos + 1 ) % 4; //set to initial position ('topRight') or move to next position
??????? }
??? ???
??????? switch ( position ) {
??????????? case 0:
??????????????? classes[ 0 ] = 'bbTopLeft';
??????????????? break;
??????????? case 1:
??????????????? classes[ 0 ] = 'bbTopRight';
??????????????? break;
??????????? case 2:
??????????????? classes[ 0 ] = 'bbBottomLeft';
??????????????? break;
??????????? case 3:
??????????????? classes[ 0 ] = 'bbBottomRight';
??????????????? break;
??????? }
??????? state.pos = position;
??????? recordState();
??? }
??? var? resize=function( size ) {
??????? if ( size === undefined || size === null ) {
??????????? size = ( state && state.size == null ) ? 0 : ( state.size + 1 ) % 2;
??????? }
??????? classes[ 1 ] = ( size === 0 ) ? 'bbSmall' : 'bbLarge'
??????? var title=( size === 1 ) ? 'small' : 'large';
??????? $( "#"+IDs.size).attr("title",title).removeClass().addClass(title);
??????? state.size = size;
??????? recordState();
??? };
???
??? for ( type in level ) {
??????? spans.push( [ '<span type="', type, '"></span>'].join( '' ) );
??? }
??? var inner = [
??? '<div title="click to filter by message type">', spans.join( '' ), '</div>',
??? '</div>',
??? '<div title="contract" op="resize"></span>',
??? '<span title="clear" op="clear"></span>',
??? '<span title="close" op="close"></span>',
??? '</div>',
??? '</div>',
??? '</div>',
??? '<div id="', IDs.checkbox, '" />Visible on page load</label></div>',
??? '<div && type!="error"){
??????????? return;
??????? }
??????? if(logger.config.level=="warn" && !(type=="error" || type=="warn")){
??????????? return;
??????? }
??????? if(logger.config.level=="debug" && !(type=="error" || type=="warn" || type=="debug")){
??????????? return;
??????? }
??????? $("#"+IDs.blackbird).find("ol:eq(0)").append("<li class='"+type+"'><span class='icon'></span>"+message+"</li>");
??? };
??? logger.info=function(msg,func){
??????? addMessage("info",msg,func);
??? };
??? logger.debug=function(msg,func){
??????? addMessage("debug",msg,func);
??? };
??? logger.warn=function(msg,func){
??????? addMessage("warn",msg,func);
??? };
??? logger.error=function(msg,func){
??????? addMessage("error",msg,func);
??? };
??? logger.profile=function(label){
??????? var currentTime = new Date(); //record the current time when profile() is executed
??????? if ( label == undefined || label == '' ) {
??????????? addMessage( 'error', '<b>ERROR:</b> Please specify a label for your profile statement' );
??????? }
??????? else if ( profiler[ label ] ) {
??????????? addMessage( 'profile', [ label, ': ', currentTime - profiler[ label ],??? 'ms' ].join( '' ) );
??????????? delete profiler[ label ];
??????? }
??????? else {
??????????? profiler[ label ] = currentTime;
??????????? addMessage( 'profile', label );
??????? }
??????? return currentTime;
??? };
??? logger.move=function(){
??????? reposition();
??? };
??? logger.toggle=function(){
??????? if($("#"+IDs.blackbird).is(":hidden")){
??????????? $("#"+IDs.blackbird).show();
??????? }else{
??????????? $("#"+IDs.blackbird).hide();
??????? }
??? };
??? logger.config.setEnabled=function(enable){
??????? enabled=enable;
??????? if($("#"+IDs.blackbird).is(":hidden") && enable==true){
??????????? $("#"+IDs.blackbird).show();
??????? }
??????? if(!$("#"+IDs.blackbird).is(":hidden") && enable==false){
??????????? $("#"+IDs.blackbird).hide();
??????? }
??? };
??? logger.config.getEnabled=function(){
??????? return enabled;
??? };
??? $(document).bind('keydown.Shift_f1',function (evt){
??????? logger.toggle();
??????? return false;
??? });
??? $(document).bind('keydown.Shift_f2',function (evt){
??????? logger.move();
??????? return false;
??? });
});