jenkins-bot has submitted this change and it was merged.

Change subject: Only log to syslog when --syslog CLI option is passed.
......................................................................


Only log to syslog when --syslog CLI option is passed.

This avoids spamming syslog during development.

Change-Id: I1cb2a6ac30a491192b129ab4c05f0b0694f7171a
---
M bin/mw-ocg-latexer
M lib/index.js
M package.json
3 files changed, 24 insertions(+), 12 deletions(-)

Approvals:
  Cscott: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/bin/mw-ocg-latexer b/bin/mw-ocg-latexer
index 227b7ba..6a48f79 100755
--- a/bin/mw-ocg-latexer
+++ b/bin/mw-ocg-latexer
@@ -3,7 +3,6 @@
 
 var program = require('commander');
 var latexer = require('../');
-var Syslog = require('node-syslog');
 var util = require('util');
 
 program
@@ -24,7 +23,9 @@
        .option('-l, --latex',
                        'Output LaTeX source instead of PDF')
        .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);
 
@@ -39,7 +40,13 @@
 
 var bundlefile = program.args[0];
 
-Syslog.init("mw-ocg-latexer", Syslog.LOG_PID | Syslog.LOG_ODELAY, 
Syslog.LOG_LOCAL0);
+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) {
@@ -48,7 +55,9 @@
        try {
                Syslog.log(Syslog.LOG_INFO, util.format.apply(this, arguments));
        } catch (err) {
-               Syslog.log(Syslog.LOG_ERR, "Could not format message with 
arguments " + arguments)
+               // 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);
        }
 };
 
@@ -71,11 +80,13 @@
        Syslog.close();
        process.exit(status);
 }, function(err) {
-    if (program.debug && err.stack) {
-        console.error(err.stack);
-    } else {
-        console.error(err);
-    }
+       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);
+       process.exit(1);
 }).done();
diff --git a/lib/index.js b/lib/index.js
index 283855c..5bfcd65 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -1593,6 +1593,7 @@
 };
 
 module.exports = {
+       name: json.name, // package name
        version: json.version, // version # for this package
        convert: convert
 };
diff --git a/package.json b/package.json
index 91906ba..f3b20e0 100644
--- a/package.json
+++ b/package.json
@@ -23,11 +23,11 @@
     "es6-shim": "~0.9.1",
     "gammalatex": "cscott/gammalatex#error-handling",
     "icu-bidi": "~0.1.2",
+    "node-syslog": "~1.1.7",
     "readable-stream": "~1.1.9",
     "sqlite3": "~2.1.19",
     "tmp": "~0.0.21",
-    "when": "~2.7.0",
-    "node-syslog": "~1.1.7"
+    "when": "~2.7.0"
   },
   "devDependencies": {
     "mocha": "~1.17.0"

-- 
To view, visit https://gerrit.wikimedia.org/r/108704
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1cb2a6ac30a491192b129ab4c05f0b0694f7171a
Gerrit-PatchSet: 4
Gerrit-Project: 
mediawiki/extensions/Collection/OfflineContentGenerator/latex_renderer
Gerrit-Branch: master
Gerrit-Owner: Cscott <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: jenkins-bot <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to