| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- Meteor.startup(() => {
 
-   Winston = require('winston');
 
-   require('winston-zulip');
 
-   const fs = require('fs');
 
-   const loggerEnable = process.env.LOGGER_ENABLE || false;
 
-   if (loggerEnable) {
 
-     Winston.log('info', 'logger is enable');
 
-     const loggers = process.env.LOGGERS.split(',') || 'console';
 
-     Winston.log('info',  `Loggers selected : ${ process.env.LOGGERS }, if empty default is console`);
 
-     if (loggers.includes('console')) {
 
-       Winston.add(Winston.transports.Console, {
 
-         json: true,
 
-         timestamp: true,
 
-       });
 
-     } else {
 
-       //remove default logger
 
-       Winston.remove(Winston.transports.Console);
 
-     }
 
-     if (loggers.includes('file')) {
 
-       //create logs directory
 
-       fs.mkdir('logs', (err) => {
 
-         if (err) throw err;
 
-       });
 
-       const fileName = `logs/${process.env.LOGGER_FILE_NAME}` || 'logs/server.log';
 
-       Winston.add(Winston.transports.File, {
 
-         filename: fileName,
 
-         json: true,
 
-         options: {
 
-           flags: 'a+',
 
-         },
 
-       });
 
-     }
 
-     if (loggers.includes('zulip')) {
 
-       const loggerZulipUsername = process.env.LOGGER_ZULIP_USERNAME;
 
-       const loggerZulipApikey = process.env.LOGGER_ZULIP_APIKEY;
 
-       const loggerZulipRealm = process.env.LOGGER_ZULIP_REALM;
 
-       const loggerZulipTo = process.env.LOGGER_ZULIP_TO || 'logs';
 
-       const loggerZulipSubject = process.env.LOGGER_ZULIP_SUBJECT || 'wekan';
 
-       const zulipConfig = {
 
-         zulipUsername: loggerZulipUsername,
 
-         zulipApikey: loggerZulipApikey,
 
-         zulipRealm: loggerZulipRealm,
 
-         zulipTo: loggerZulipTo,
 
-         zulipSubject: loggerZulipSubject,
 
-       };
 
-       Winston.add(Winston.transports.Zulip, zulipConfig);
 
-       Winston.log('info', `zulipconfig ${zulipConfig}`);
 
-     }
 
-   } else {
 
-     //remove default logger
 
-     Winston.remove(Winston.transports.Console);
 
-   }
 
-   Winston.log('info', 'Logger is completly instanciate');
 
- });
 
 
  |