Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. import appRoot from "app-root-path";
  2. import winston from "winston";
  3.  
  4.  
  5. const { combine, timestamp, json } = winston.format;
  6.  
  7.  
  8. class Logger {
  9. constructor(props) {
  10.  
  11. let logFolder = `${appRoot}/src/logs`;
  12.  
  13. this.logger = winston.createLogger({
  14. level: 'info',
  15. format: combine(
  16. timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
  17. json(),
  18.  
  19. ),
  20. transports: [
  21. new winston.transports.File({ filename: `${logFolder}/error.log`, level: 'error', json: true, maxsize: 268435456, colorize: true }),
  22. new winston.transports.File({ filename: `${logFolder}/info.log`, level: 'info', json: true, maxsize: 268435456, colorize: true })
  23. ]
  24. })
  25. if (process.env.NODE_ENV !== 'production') {
  26. this.logger.add(new winston.transports.Console({
  27. format: winston.format.simple()
  28. }));
  29. }
  30. }
  31.  
  32. log(message, level = 'info') {
  33. this.logger.log({
  34. level,
  35. message,
  36. })
  37. }
  38. }
  39.  
  40. export default new Logger();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement