mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-10-31 23:26:18 +00:00
Syncer: allow logging to be disabled
We don't want the syncer used by the savetrail plugin to be logging
This commit is contained in:
parent
1dcc8c99e5
commit
05a3d9a302
@ -42,8 +42,12 @@ function Syncer(options) {
|
||||
this.throttleInterval = options.throttleInterval || this.throttleInterval;
|
||||
this.fallbackInterval = options.fallbackInterval || this.fallbackInterval;
|
||||
this.pollTimerInterval = options.pollTimerInterval || this.pollTimerInterval;
|
||||
this.logging = "logging" in options ? options.logging : true;
|
||||
// Make a logger
|
||||
this.logger = new $tw.utils.Logger("syncer" + ($tw.browser ? "-browser" : "") + ($tw.node ? "-server" : "") + (this.syncadaptor.name ? ("-" + this.syncadaptor.name) : ""),{colour: "cyan"});
|
||||
this.logger = new $tw.utils.Logger("syncer" + ($tw.browser ? "-browser" : "") + ($tw.node ? "-server" : "") + (this.syncadaptor.name ? ("-" + this.syncadaptor.name) : ""),{
|
||||
colour: "cyan",
|
||||
enable: this.logging
|
||||
});
|
||||
// Compile the dirty tiddler filter
|
||||
this.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));
|
||||
// Record information for known tiddlers
|
||||
|
@ -21,13 +21,14 @@ function Logger(componentName,options) {
|
||||
options = options || {};
|
||||
this.componentName = componentName || "";
|
||||
this.colour = options.colour || "white";
|
||||
this.enable = "enable" in options ? options.enable : true;
|
||||
}
|
||||
|
||||
/*
|
||||
Log a message
|
||||
*/
|
||||
Logger.prototype.log = function(/* args */) {
|
||||
if(console !== undefined && console.log !== undefined) {
|
||||
if(this.enable && console !== undefined && console.log !== undefined) {
|
||||
return Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + ":"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));
|
||||
}
|
||||
};
|
||||
@ -36,44 +37,46 @@ Logger.prototype.log = function(/* args */) {
|
||||
Alert a message
|
||||
*/
|
||||
Logger.prototype.alert = function(/* args */) {
|
||||
// Prepare the text of the alert
|
||||
var text = Array.prototype.join.call(arguments," ");
|
||||
// Create alert tiddlers in the browser
|
||||
if($tw.browser) {
|
||||
// Check if there is an existing alert with the same text and the same component
|
||||
var existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),
|
||||
alertFields,
|
||||
existingCount,
|
||||
self = this;
|
||||
$tw.utils.each(existingAlerts,function(title) {
|
||||
var tiddler = $tw.wiki.getTiddler(title);
|
||||
if(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {
|
||||
alertFields = $tw.utils.extend({},tiddler.fields);
|
||||
if(this.enable) {
|
||||
// Prepare the text of the alert
|
||||
var text = Array.prototype.join.call(arguments," ");
|
||||
// Create alert tiddlers in the browser
|
||||
if($tw.browser) {
|
||||
// Check if there is an existing alert with the same text and the same component
|
||||
var existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),
|
||||
alertFields,
|
||||
existingCount,
|
||||
self = this;
|
||||
$tw.utils.each(existingAlerts,function(title) {
|
||||
var tiddler = $tw.wiki.getTiddler(title);
|
||||
if(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {
|
||||
alertFields = $tw.utils.extend({},tiddler.fields);
|
||||
}
|
||||
});
|
||||
if(alertFields) {
|
||||
existingCount = alertFields.count || 1;
|
||||
} else {
|
||||
alertFields = {
|
||||
title: $tw.wiki.generateNewTitle("$:/temp/alerts/alert",{prefix: ""}),
|
||||
text: text,
|
||||
tags: [ALERT_TAG],
|
||||
component: this.componentName
|
||||
};
|
||||
existingCount = 0;
|
||||
}
|
||||
});
|
||||
if(alertFields) {
|
||||
existingCount = alertFields.count || 1;
|
||||
alertFields.modified = new Date();
|
||||
if(++existingCount > 1) {
|
||||
alertFields.count = existingCount;
|
||||
} else {
|
||||
alertFields.count = undefined;
|
||||
}
|
||||
$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));
|
||||
// Log the alert as well
|
||||
this.log.apply(this,Array.prototype.slice.call(arguments,0));
|
||||
} else {
|
||||
alertFields = {
|
||||
title: $tw.wiki.generateNewTitle("$:/temp/alerts/alert",{prefix: ""}),
|
||||
text: text,
|
||||
tags: [ALERT_TAG],
|
||||
component: this.componentName
|
||||
};
|
||||
existingCount = 0;
|
||||
}
|
||||
alertFields.modified = new Date();
|
||||
if(++existingCount > 1) {
|
||||
alertFields.count = existingCount;
|
||||
} else {
|
||||
alertFields.count = undefined;
|
||||
}
|
||||
$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));
|
||||
// Log the alert as well
|
||||
this.log.apply(this,Array.prototype.slice.call(arguments,0));
|
||||
} else {
|
||||
// Print an orange message to the console if not in the browser
|
||||
console.error("\x1b[1;33m" + text + "\x1b[0m");
|
||||
// Print an orange message to the console if not in the browser
|
||||
console.error("\x1b[1;33m" + text + "\x1b[0m");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user