Add logging for emails
authorChocobozzz <me@florianbigard.com>
Thu, 22 Mar 2018 10:32:43 +0000 (11:32 +0100)
committerChocobozzz <me@florianbigard.com>
Thu, 22 Mar 2018 10:47:26 +0000 (11:47 +0100)
server/helpers/logger.ts
server/lib/emailer.ts
support/doc/tools.md

index e0b904950828f5822af4d0bf34b722287f396bd0..7968b5ec9904f30e35f53f511e1ac38234132d8e 100644 (file)
@@ -73,11 +73,39 @@ const logger = new winston.createLogger({
   exitOnError: true
 })
 
+function bunyanLogFactory (level: string) {
+  return function () {
+    let meta = null
+    let args = [].concat(arguments)
+
+    if (arguments[ 0 ] instanceof Error) {
+      meta = arguments[ 0 ].toString()
+      args = Array.prototype.slice.call(arguments, 1)
+      args.push(meta)
+    } else if (typeof (args[ 0 ]) !== 'string') {
+      meta = arguments[ 0 ]
+      args = Array.prototype.slice.call(arguments, 1)
+      args.push(meta)
+    }
+
+    logger[ level ].apply(logger, args)
+  }
+}
+const bunyanLogger = {
+  trace: bunyanLogFactory('debug'),
+  debug: bunyanLogFactory('debug'),
+  info: bunyanLogFactory('info'),
+  warn: bunyanLogFactory('warn'),
+  error: bunyanLogFactory('error'),
+  fatal: bunyanLogFactory('error')
+}
+
 // ---------------------------------------------------------------------------
 
 export {
   timestampFormatter,
   labelFormatter,
   consoleLoggerFormat,
-  logger
+  logger,
+  bunyanLogger
 }
index bc0061c998c00d11bdcf3a5c5fdeef8f4cc94d13..9c105a57530021c7c163d10dc5aeb076d05ff6d5 100644 (file)
@@ -1,7 +1,7 @@
 import { createTransport, Transporter } from 'nodemailer'
 import { UserRight } from '../../shared/models/users'
 import { isTestInstance } from '../helpers/core-utils'
-import { logger } from '../helpers/logger'
+import { bunyanLogger, logger } from '../helpers/logger'
 import { CONFIG } from '../initializers'
 import { UserModel } from '../models/account/user'
 import { VideoModel } from '../models/video/video'
@@ -44,6 +44,8 @@ class Emailer {
         host: CONFIG.SMTP.HOSTNAME,
         port: CONFIG.SMTP.PORT,
         secure: CONFIG.SMTP.TLS,
+        debug: CONFIG.LOG.LEVEL === 'debug',
+        logger: bunyanLogger as any,
         ignoreTLS: isTestInstance(),
         tls,
         auth
index 144c2bd7a6e4f632f3b6a437f93d5a813173c9a7..d83203369cc3ee8813f22c16d45300c14a1d9a76 100644 (file)
@@ -11,6 +11,7 @@
 
 You need at least 512MB RAM to run the script.
 Scripts can be launched directly from a PeerTube server, or from a separate server, even a desktop PC.
+You need to follow all the following steps even if you are on a PeerTube server.
 
 ### Dependencies
 
@@ -21,20 +22,20 @@ Install the [PeerTube dependencies](dependencies.md).
 Clone the PeerTube repo to get the latest version (even if you are on your PeerTube server):
 
 ```
-git clone https://github.com/Chocobozzz/PeerTube.git
-CLONE="$(pwd)/PeerTube"
+git clone https://github.com/Chocobozzz/PeerTube.git
+CLONE="$(pwd)/PeerTube"
 ```
 
 Run ``yarn install``
 ```
-cd ${CLONE}
-yarn install
+cd ${CLONE}
+yarn install
 ```
 
 Build server tools:
 ```
-cd ${CLONE}
-npm run build:server
+cd ${CLONE}
+npm run build:server
 ```
 
 ## Tools 
@@ -46,8 +47,8 @@ Be sure you own the videos or have the author's authorization to do so.
 
 
 ```
-cd ${CLONE}
-node dist/server/tools/import-videos.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD" -t "TARGET_URL"
+cd ${CLONE}
+node dist/server/tools/import-videos.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD" -t "TARGET_URL"
 ```
 
  * PEERTUBE_URL : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re/
@@ -69,6 +70,6 @@ node dist/server/tools/import-videos.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" --p
 You can use this script to import videos directly from the CLI.
 
 ```
-cd ${CLONE}
-node dist/server/tools/upload.js --help
+cd ${CLONE}
+node dist/server/tools/upload.js --help
 ```