Skip to content
Snippets Groups Projects
Commit adaecc34 authored by João Victor Risso's avatar João Victor Risso
Browse files

Merge branch 'fix_log_dir_error' into 'development'

Fix runtime error when the logs directory is not present

/cc @vsbc14 @gas15

See merge request !13
parents e835b3e3 3ab6e042
Branches
Tags
1 merge request!13Fix runtime error when the logs directory is not present
Pipeline #
const fs = require('fs');
const gulp = require('gulp');
const babel = require('gulp-babel');
......@@ -12,10 +14,23 @@ const Cache = require('gulp-file-cache');
const cache = new Cache();
function createLogDir() {
const logDirPath = 'build/logs';
fs.access(logDirPath, fs.F_OK, (err) => {
if (err) {
console.info(`Logs directory not found, creating it.`);
fs.mkdir(logDirPath, 0o700, (dirErr) => {
console.error(`Failed to create logs directory.\n\tError: ${dirErr}`);
});
}
});
}
/**
* Compile source files
*/
function compile() {
gulp.task('compile', () => {
createLogDir();
// run ESLint
gulp.src('src/**/*.js')
.pipe(eslint())
......@@ -31,12 +46,11 @@ function compile() {
// copy configuration file to build directory
gulp.src('config.json')
.pipe(gulp.dest('build'));
});
}
gulp.task('build', compile);
gulp.task('build', ['compile']);
gulp.task('test', () => {
gulp.task('test', ['build'], () => {
gulp.src('test/test.js', {read: false})
.pipe(mocha())
.once('error', () => {
......@@ -47,13 +61,12 @@ gulp.task('test', () => {
});
});
gulp.task('watch', [], () => {
gulp.task('watch', ['compile'], () => {
console.log('Watching source directory for changes');
compile();
gulp.watch('src/**/*.js').on('change', () => {
console.log('Recompiling source');
compile();
console.log('Source recompilation done')
gulp.start('compile');
console.log('Source recompilation done');
});
});
......
......@@ -10,16 +10,29 @@ function getFilePath(module) {
}
function logger(module) {
const logPath = `${process.cwd()}/logs`;
const maxLogFiles = 5;
const maxLogSize = 5242880;
const log = new winston.Logger({
transports: [
new winston.transports.File({
name: 'info-log',
level: 'info',
filename: `${process.cwd()}/logs/all.log`,
filename: `${logPath}/simcaq-info.log`,
handleException: true,
json: false,
maxSize: 5242880, // 5MB
maxFiles: 2,
maxSize: maxLogSize, // 5MB
maxFiles: maxLogFiles,
colorize: false,
}),
new winston.transports.File({
name: 'error-log',
level: 'error',
filename: `${logPath}/simcaq-error.log`,
handleException: true,
json: false,
maxSize: maxLogSize, // 5MB
maxFiles: maxLogFiles,
colorize: false,
}),
new winston.transports.Console({
......@@ -33,7 +46,9 @@ function logger(module) {
],
exitOnError: false,
});
if (!config.get('debug')) {
const debugMode = (typeof config.get('debug') === 'undefined') ?
config.get('debug') : false;
if (!debugMode) {
log.remove('debug-log');
}
return log;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment