Add logging for emails

This commit is contained in:
Chocobozzz 2018-03-22 11:32:43 +01:00
parent 5a649344ff
commit 05e67d6206
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 43 additions and 12 deletions

View 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
}

View 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

View 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
```