1
0

file-logger.ts 1.1 KB

123456789101112131415161718192021222324252627
  1. import { VendureLogger } from '@vendure/core';
  2. import fs from 'fs';
  3. // A simple custom logger which writes all logs to a file.
  4. export class SimpleFileLogger implements VendureLogger {
  5. private logfile: fs.WriteStream;
  6. constructor(logfileLocation: string) {
  7. this.logfile = fs.createWriteStream(logfileLocation, { flags: 'w', encoding: 'utf8' });
  8. }
  9. error(message: string, context?: string) {
  10. this.logfile.write(`${new Date().toISOString()} ERROR: [${context}] ${message}\n`, 'utf8');
  11. }
  12. warn(message: string, context?: string) {
  13. this.logfile.write(`${new Date().toISOString()} WARN: [${context}] ${message}\n`, 'utf8');
  14. }
  15. info(message: string, context?: string) {
  16. this.logfile.write(`${new Date().toISOString()} INFO: [${context}] ${message}\n`, 'utf8');
  17. }
  18. verbose(message: string, context?: string) {
  19. this.logfile.write(`${new Date().toISOString()} VERBOSE: [${context}] ${message}\n`, 'utf8');
  20. }
  21. debug(message: string, context?: string) {
  22. this.logfile.write(`${new Date().toISOString()} DEBUG: [${context}] ${message}\n`, 'utf8');
  23. }
  24. }