Log objects rather than JSON strings and option for single line logs (#2028)
* Log objects rather than JSON strings and option for single line logs
This reverts commit fcd914bdfd.
* Better password stripping tests
This commit is contained in:
committed by
Florent Vilmart
parent
514095dc35
commit
7d234e054b
@@ -10,36 +10,45 @@ if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {
|
||||
}
|
||||
|
||||
LOGS_FOLDER = process.env.PARSE_SERVER_LOGS_FOLDER || LOGS_FOLDER;
|
||||
const JSON_LOGS = process.env.JSON_LOGS || false;
|
||||
|
||||
let currentLogsFolder = LOGS_FOLDER;
|
||||
|
||||
function generateTransports(level) {
|
||||
function generateTransports(level, options = {}) {
|
||||
let transports = [
|
||||
new (DailyRotateFile)({
|
||||
filename: 'parse-server.info',
|
||||
dirname: currentLogsFolder,
|
||||
name: 'parse-server',
|
||||
level: level
|
||||
}),
|
||||
new (DailyRotateFile)({
|
||||
filename: 'parse-server.err',
|
||||
dirname: currentLogsFolder,
|
||||
name: 'parse-server-error',
|
||||
level: 'error'
|
||||
})
|
||||
]
|
||||
new (DailyRotateFile)(
|
||||
Object.assign({
|
||||
filename: 'parse-server.info',
|
||||
dirname: currentLogsFolder,
|
||||
name: 'parse-server',
|
||||
level: level
|
||||
}, options)
|
||||
),
|
||||
new (DailyRotateFile)(
|
||||
Object.assign({
|
||||
filename: 'parse-server.err',
|
||||
dirname: currentLogsFolder,
|
||||
name: 'parse-server-error',
|
||||
level: 'error'
|
||||
}
|
||||
), options)
|
||||
];
|
||||
if (!process.env.TESTING || process.env.VERBOSE) {
|
||||
transports = [new (winston.transports.Console)({
|
||||
colorize: true,
|
||||
level:level
|
||||
})].concat(transports);
|
||||
transports = [
|
||||
new (winston.transports.Console)(
|
||||
Object.assign({
|
||||
colorize: true,
|
||||
level: level
|
||||
}, options)
|
||||
)
|
||||
].concat(transports);
|
||||
}
|
||||
return transports;
|
||||
}
|
||||
|
||||
const logger = new winston.Logger();
|
||||
|
||||
export function configureLogger({logsFolder, level = winston.level}) {
|
||||
export function configureLogger({ logsFolder, jsonLogs, level = winston.level }) {
|
||||
winston.level = level;
|
||||
logsFolder = logsFolder || currentLogsFolder;
|
||||
|
||||
@@ -53,16 +62,22 @@ export function configureLogger({logsFolder, level = winston.level}) {
|
||||
}
|
||||
currentLogsFolder = logsFolder;
|
||||
|
||||
const options = {};
|
||||
if (jsonLogs) {
|
||||
options.json = true;
|
||||
options.stringify = true;
|
||||
}
|
||||
const transports = generateTransports(level, options);
|
||||
logger.configure({
|
||||
transports: generateTransports(level)
|
||||
transports: transports
|
||||
})
|
||||
}
|
||||
|
||||
configureLogger({logsFolder: LOGS_FOLDER});
|
||||
configureLogger({ logsFolder: LOGS_FOLDER, jsonLogs: JSON_LOGS });
|
||||
|
||||
export function addGroup(groupName) {
|
||||
let level = winston.level;
|
||||
let transports = generateTransports().concat(new (DailyRotateFile)({
|
||||
let transports = generateTransports().concat(new (DailyRotateFile)({
|
||||
filename: groupName,
|
||||
dirname: currentLogsFolder,
|
||||
name: groupName,
|
||||
|
||||
Reference in New Issue
Block a user