Mwalker has uploaded a new change for review. https://gerrit.wikimedia.org/r/151222
Change subject: Use new log and status reporting framework ...................................................................... Use new log and status reporting framework Log through the service! Remove dependency on syslog. I also want all errors exposed through the service so I always have to throw and then have the main application promise catch it. Change-Id: I00b1479404441063132c57f3ffe1c37f80658938 --- M bin/mw-ocg-latexer M lib/index.js M lib/status.js M package.json 4 files changed, 19 insertions(+), 36 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer refs/changes/22/151222/1 diff --git a/bin/mw-ocg-latexer b/bin/mw-ocg-latexer index 4e4c1f6..d9d6b13 100755 --- a/bin/mw-ocg-latexer +++ b/bin/mw-ocg-latexer @@ -31,9 +31,7 @@ .option('-D, --debug', 'Turn on debugging features (eg, full stack traces on exceptions)') .option('-T, --temporary-directory <dir>', - 'Use <dir> for temporaries, not $TMPDIR or /tmp', null) - .option('--syslog', - 'Log errors using syslog (for production deployments)'); + 'Use <dir> for temporaries, not $TMPDIR or /tmp', null); program.parse(process.argv); @@ -48,25 +46,12 @@ var bundlefile = program.args[0]; -var Syslog = program.syslog ? require('node-syslog') : { - init: function() { }, - log: function() { }, - close: function() { } -}; -Syslog.init(latexer.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); - } + process.send({type:'log', level: 'info', message: Array.prototype.slice.call(arguments)}); }; var options = { @@ -86,16 +71,23 @@ } latexer.convert(options).then(function(status) { - Syslog.close(); process.exit(status); }, function(err) { - if ((program.debug || program.syslog) && err.stack) { - console.error(err.stack); - Syslog.log(Syslog.LOG_ERR, JSON.stringify(err.stack)); - } else { - console.error(err); - Syslog.log(Syslog.LOG_ERR, err); - } - Syslog.close(); + var format = function( err ) { + if ( err instanceof Error ) { + return { + message: err.message, + stack: err.stack + }; + } else { + return { + message: err, + stack: null + }; + } + }; + err = format( err ); + console.error( err ); + process.send({type:'log', level: 'error', message: [err.message, err]}); process.exit(1); }).done(); diff --git a/lib/index.js b/lib/index.js index fccb415..5520871 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1776,14 +1776,6 @@ }).then(function() { status.createStage(0, 'Done'); return 0; // success! - }, function(err) { - // xxx clean up? - if (options.debug) { - throw err; - } - // xxx send this error to parent process, if there is one? - console.error('Error:', err); - return 1; }); }; diff --git a/lib/status.js b/lib/status.js index 3832366..c117eb5 100644 --- a/lib/status.js +++ b/lib/status.js @@ -25,7 +25,7 @@ this.extraLog(msg); } if (process.send) { - process.send(msg); + process.send({type: 'status', message: msg}); } }; diff --git a/package.json b/package.json index 64913b8..e210403 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "es6-shim": "~0.13.0", "gammalatex": "cscott/gammalatex#race-be-gone", "icu-bidi": "~0.1.2", - "node-syslog": "~1.1.7", "prfun": "~1.0.0", "readable-stream": "~1.0.0", "sqlite3": "~2.2.3", -- To view, visit https://gerrit.wikimedia.org/r/151222 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I00b1479404441063132c57f3ffe1c37f80658938 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer Gerrit-Branch: master Gerrit-Owner: Mwalker <mwal...@khaosdev.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits