Cscott has uploaded a new change for review.
https://gerrit.wikimedia.org/r/108734
Change subject: Add syslog logging when --syslog CLI option is passed.
......................................................................
Add syslog logging when --syslog CLI option is passed.
Change-Id: I6baa8b6632c93dda97841dae28684d0eb81592a0
---
M bin/mw-ocg-texter
M lib/index.js
M package.json
3 files changed, 32 insertions(+), 10 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator/text_renderer
refs/changes/34/108734/1
diff --git a/bin/mw-ocg-texter b/bin/mw-ocg-texter
index 77cc827..256b441 100755
--- a/bin/mw-ocg-texter
+++ b/bin/mw-ocg-texter
@@ -16,7 +16,9 @@
.option('-v, --verbose',
'Print verbose progress information')
.option('-D, --debug',
- 'Turn on debugging features (eg, full stack traces on
exceptions)');
+ 'Turn on debugging features (eg, full stack traces on
exceptions)')
+ .option('--syslog',
+ 'Log errors using syslog (for production deployments)');
program.parse(process.argv);
@@ -31,10 +33,24 @@
var bundlefile = program.args[0];
+var Syslog = program.syslog ? require('node-syslog') : {
+ init: function() { },
+ log: function() { },
+ close: function() { }
+};
+Syslog.init(texter.name, Syslog.LOG_PID | Syslog.LOG_ODELAY,
Syslog.LOG_LOCAL0);
+
var log = function() {
// en/disable log messages here
if (program.verbose || program.debug) {
console.error.apply(console, arguments);
+ }
+ try {
+ Syslog.log(Syslog.LOG_INFO, util.format.apply(this, arguments));
+ } catch (err) {
+ // This should never happen! But don't try to convert arguments
+ // toString() if it does, since that might fail too.
+ Syslog.log(Syslog.LOG_ERR, "Could not format message! "+err);
}
};
@@ -48,12 +64,16 @@
};
texter.convert(options).then(function(status) {
+ Syslog.close();
process.exit(status);
}, function(err) {
- if (program.debug && err.stack) {
- console.error(err.stack);
- } else {
- console.error(err);
- }
- process.exit(1);
+ if (program.debug && err.stack) {
+ console.error(err.stack);
+ Syslog.log(Syslog.LOG_ERR, err.stack);
+ } else {
+ console.error(err);
+ Syslog.log(Syslog.LOG_ERR, err);
+ }
+ Syslog.close();
+ process.exit(1);
}).done();
diff --git a/lib/index.js b/lib/index.js
index 62de4e5..faa2dd6 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -862,6 +862,7 @@
};
module.exports = {
- version: json.version, // version # for this code
+ name: json.name, // package name
+ version: json.version, // version # for this package
convert: convert
};
diff --git a/package.json b/package.json
index 832fcdc..26e0ec7 100644
--- a/package.json
+++ b/package.json
@@ -19,11 +19,12 @@
"commander": "~2.1.0",
"domino": "~1.0.13",
"es6-shim": "~0.9.1",
+ "linewrap": "~0.2.1",
+ "node-syslog": "~1.1.7",
"readable-stream": "~1.1.9",
"sqlite3": "~2.1.19",
"tmp": "~0.0.21",
- "when": "~2.7.0",
- "linewrap": "~0.2.1"
+ "when": "~2.7.0"
},
"devDependencies": {
"mocha": "~1.16.1"
--
To view, visit https://gerrit.wikimedia.org/r/108734
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6baa8b6632c93dda97841dae28684d0eb81592a0
Gerrit-PatchSet: 1
Gerrit-Project:
mediawiki/extensions/Collection/OfflineContentGenerator/text_renderer
Gerrit-Branch: master
Gerrit-Owner: Cscott <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits