UNPKG

cicero-core

Version:

Cicero Core - implementation of Accord Protocol Template Specification

47 lines (41 loc) 1.41 kB
/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; const winston = require('winston'); const fs = require('fs'); const env = process.env.NODE_ENV || 'development'; const tsFormat = () => (new Date()).toLocaleTimeString(); const logDir = 'log'; // Create the log directory if it does not exist if (!fs.existsSync(logDir)) { fs.mkdirSync(logDir); } let logger = new(winston.Logger)({ transports: [ new(winston.transports.Console)({ colorize: true, timestamp: tsFormat, level: 'info' }), new(winston.transports.File)({ name: 'logs-file', filename: `${logDir}/trace.log`, level: env === 'development' ? 'debug' : 'info' }) ] }); logger.entry = logger.debug; logger.exit = logger.debug; logger.log('info', 'Logging initialized.', new Date()); module.exports = logger;