mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-21 00:09:51 +02:00
Fix for issue #204, added width option to the CLI. Default value for width is 1200.
Added logger using es6 syntax
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
/**
|
||||
* Created by knut on 15-01-14.
|
||||
*/
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
var message = '';
|
||||
var info = false;
|
||||
|
||||
|
@@ -4,7 +4,9 @@
|
||||
var db = require('./exampleDb');
|
||||
var exampleParser = require('./parser/example.js');
|
||||
var d3 = require('../../d3');
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
/**
|
||||
* Draws a an info picture in the tag with id: id based on the graph definition in text.
|
||||
* @param text
|
||||
|
@@ -1,5 +1,7 @@
|
||||
/* global window */
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
var dagreD3;
|
||||
//log.debug('setting up dagre-d3');
|
||||
if (require) {
|
||||
|
@@ -6,7 +6,9 @@ var flow = require('./parser/flow');
|
||||
var dot = require('./parser/dot');
|
||||
var d3 = require('../../d3');
|
||||
var dagreD3 = require('./dagre-d3');
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
|
||||
var conf = {
|
||||
};
|
||||
|
@@ -1,7 +1,9 @@
|
||||
/**
|
||||
* Created by knut on 14-11-03.
|
||||
*/
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
var d3 = require('../../d3');
|
||||
var vertices = {};
|
||||
var edges = [];
|
||||
|
@@ -2,7 +2,9 @@
|
||||
* Created by knut on 15-01-14.
|
||||
*/
|
||||
var moment = require('moment');
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
|
||||
var dateFormat = '';
|
||||
var title = '';
|
||||
|
@@ -5,7 +5,9 @@ var actors = {};
|
||||
var actorKeys = [];
|
||||
var messages = [];
|
||||
var notes = [];
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
|
||||
|
||||
exports.addActor = function(id,name,description){
|
||||
|
@@ -6,7 +6,9 @@ var sq = require('./parser/sequenceDiagram').parser;
|
||||
sq.yy = require('./sequenceDb');
|
||||
var svgDraw = require('./svgDraw');
|
||||
var d3 = require('../../d3');
|
||||
var log = require('../../logger').create();
|
||||
import * as Logger from '../../logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
|
||||
var conf = {
|
||||
|
||||
|
155
src/logger.js
155
src/logger.js
@@ -9,88 +9,89 @@
|
||||
* logger.debug(function() { return "booom" })
|
||||
* => [2011-3-3T20:24:4.810 error (5021)] booom
|
||||
*/
|
||||
var Logger;
|
||||
|
||||
Logger = (function() {
|
||||
function Logger(options) {
|
||||
var level, ref;
|
||||
|
||||
this.options = options || {};
|
||||
this.level = this.options.level || Logger.levels.default;
|
||||
ref = Logger.levels;
|
||||
for (level in ref) {
|
||||
Logger.define(this, level);
|
||||
}
|
||||
}
|
||||
|
||||
Logger.prototype.add = function(level, message, callback) {
|
||||
if (this.level > (Logger.levels[level] || 5)) {
|
||||
return;
|
||||
}
|
||||
if (callback) {
|
||||
message = callback();
|
||||
} else if (typeof message === 'function') {
|
||||
message = message();
|
||||
}
|
||||
return this.write({
|
||||
timestamp: new Date,
|
||||
severity: level,
|
||||
message: message,
|
||||
pid: process.pid
|
||||
});
|
||||
};
|
||||
|
||||
function formatTime(timestamp){
|
||||
var hh = timestamp.getUTCHours();
|
||||
var mm = timestamp.getUTCMinutes();
|
||||
var ss = timestamp.getSeconds();
|
||||
var ms = timestamp.getMilliseconds();
|
||||
// If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time
|
||||
// if (hh > 12) {hh = hh % 12;}
|
||||
// These lines ensure you have two-digits
|
||||
if (hh < 10) {hh = '0'+hh;}
|
||||
if (mm < 10) {mm = '0'+mm;}
|
||||
if (ss < 10) {ss = '0'+ss;}
|
||||
if (ms < 100){ms = '0'+ms;}
|
||||
if (ms < 10) {ms = '00'+ms;}
|
||||
// This formats your string to HH:MM:SS
|
||||
var t = hh+':'+mm+':'+ss +' ('+ms+')';
|
||||
return t;
|
||||
}
|
||||
|
||||
Logger.prototype.write = function(options) {
|
||||
if(typeof console !== 'undefined'){ //eslint-disable-line no-console
|
||||
if(typeof console.log !== 'undefined'){ //eslint-disable-line no-console
|
||||
return console.log(this.build_message(options)); //eslint-disable-line no-console
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Logger.prototype.build_message = function(options) {
|
||||
return '[' + formatTime(options.timestamp) + '] ' + options.message;
|
||||
};
|
||||
|
||||
return Logger;
|
||||
|
||||
})();
|
||||
|
||||
Logger.define = function(logger, level) {
|
||||
return logger[level] = function(message, callback) {
|
||||
return this.add(level, message, callback);
|
||||
};
|
||||
};
|
||||
|
||||
Logger.levels = {
|
||||
const LEVELS = {
|
||||
debug: 1,
|
||||
info: 2,
|
||||
warn: 3,
|
||||
error: 4,
|
||||
fatal: 5,
|
||||
default:5
|
||||
default: 5
|
||||
};
|
||||
exports.setLogLevel = function(level){
|
||||
Logger.levels.default = level;
|
||||
|
||||
let defaultLevel = LEVELS.error;
|
||||
|
||||
exports.setLogLevel = function (level) {
|
||||
defaultLevel = level;
|
||||
};
|
||||
|
||||
function formatTime(timestamp) {
|
||||
var hh = timestamp.getUTCHours();
|
||||
var mm = timestamp.getUTCMinutes();
|
||||
var ss = timestamp.getSeconds();
|
||||
var ms = timestamp.getMilliseconds();
|
||||
// If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time
|
||||
// if (hh > 12) {hh = hh % 12;}
|
||||
// These lines ensure you have two-digits
|
||||
if (hh < 10) {
|
||||
hh = '0' + hh;
|
||||
}
|
||||
if (mm < 10) {
|
||||
mm = '0' + mm;
|
||||
}
|
||||
if (ss < 10) {
|
||||
ss = '0' + ss;
|
||||
}
|
||||
if (ms < 100) {
|
||||
ms = '0' + ms;
|
||||
}
|
||||
if (ms < 10) {
|
||||
ms = '00' + ms;
|
||||
}
|
||||
// This formats your string to HH:MM:SS
|
||||
var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')';
|
||||
return t;
|
||||
}
|
||||
exports.create = function(options) {
|
||||
return new Logger(options);
|
||||
};
|
||||
|
||||
|
||||
class Log {
|
||||
constructor(level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
log(str, level) {
|
||||
let logLevel = this.level;
|
||||
if(typeof logLevel === 'undefined'){
|
||||
logLevel = defaultLevel;
|
||||
}
|
||||
if (logLevel <= level) {
|
||||
if (typeof console !== 'undefined') { //eslint-disable-line no-console
|
||||
if (typeof console.log !== 'undefined') { //eslint-disable-line no-console
|
||||
return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trace(str) {
|
||||
this.log(str, LEVELS.trace);
|
||||
}
|
||||
|
||||
debug(str) {
|
||||
this.log(str, LEVELS.debug);
|
||||
}
|
||||
|
||||
info(str) {
|
||||
this.log(str, LEVELS.info);
|
||||
}
|
||||
|
||||
warn(str) {
|
||||
this.log(str, LEVELS.warn);
|
||||
}
|
||||
|
||||
error(str) {
|
||||
this.log(str, LEVELS.error);
|
||||
}
|
||||
}
|
||||
|
||||
exports.Log = Log;
|
@@ -16,10 +16,11 @@
|
||||
* Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render
|
||||
* the diagrams to svg code.
|
||||
*/
|
||||
|
||||
import * as Logger from './logger';
|
||||
var log = new Logger.Log();
|
||||
var mermaidAPI = require('./mermaidAPI');
|
||||
var nextId = 0;
|
||||
var log = require('./logger').create();
|
||||
|
||||
var he = require('he');
|
||||
|
||||
module.exports.mermaidAPI = mermaidAPI;
|
||||
|
@@ -11,6 +11,9 @@
|
||||
* returns a svg element for the graph. It is is then up to the user of the API to make use of the svg, either insert it
|
||||
* somewhere in the page or something completely different.
|
||||
*/
|
||||
import * as Logger from './logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
var graph = require('./diagrams/flowchart/graphDb');
|
||||
var utils = require('./utils');
|
||||
var flowRenderer = require('./diagrams/flowchart/flowRenderer');
|
||||
@@ -47,7 +50,7 @@ var config = {
|
||||
* * error: 4
|
||||
* * fatal: 5
|
||||
*/
|
||||
logLevel: 3,
|
||||
logLevel: 5,
|
||||
/**
|
||||
* **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg
|
||||
*/
|
||||
@@ -222,7 +225,8 @@ var config = {
|
||||
}
|
||||
};
|
||||
|
||||
var log = require('./logger').create({level:config.logLevel});
|
||||
Logger.setLogLevel(config.logLevel);
|
||||
|
||||
|
||||
/**
|
||||
* ## parse
|
||||
@@ -479,6 +483,7 @@ exports.initialize = function(options){
|
||||
if(typeof options === 'object'){
|
||||
setConf(options);
|
||||
}
|
||||
Logger.setLogLevel(config.logLevel);
|
||||
|
||||
};
|
||||
exports.getConfig = function(){
|
||||
|
@@ -1,8 +1,8 @@
|
||||
/**
|
||||
* Created by knut on 14-11-23.
|
||||
*/
|
||||
import * as Log from './logger';
|
||||
var log = Log.create();
|
||||
import * as Logger from './logger';
|
||||
var log = new Logger.Log();
|
||||
|
||||
/**
|
||||
* @function detectType
|
||||
|
Reference in New Issue
Block a user