@quartz-labs/logger 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/logger.d.ts CHANGED
@@ -4,9 +4,10 @@ export interface AppLoggerOptions {
4
4
  dailyErrorCacheTimeMs?: number;
5
5
  }
6
6
  export declare class AppLogger {
7
+ private name;
7
8
  protected logger: Logger;
8
9
  private dailyErrorCache;
9
10
  private dailyErrorCacheTimeMs;
10
11
  constructor(options: AppLoggerOptions);
11
- protected sendWarningEmail(subject: string, message: string): Promise<void>;
12
+ protected sendEmail(subject: string, message: string): Promise<void>;
12
13
  }
package/dist/logger.js CHANGED
@@ -3,10 +3,12 @@ import winston, { createLogger, transports } from "winston";
3
3
  import nodemailer from "nodemailer";
4
4
  import config from "./config.js";
5
5
  export class AppLogger {
6
+ name;
6
7
  logger;
7
8
  dailyErrorCache = new Map();
8
9
  dailyErrorCacheTimeMs;
9
10
  constructor(options) {
11
+ this.name = options.name;
10
12
  if (options.dailyErrorCacheTimeMs === undefined || options.dailyErrorCacheTimeMs < 0) {
11
13
  this.dailyErrorCacheTimeMs = 0;
12
14
  }
@@ -42,8 +44,8 @@ export class AppLogger {
42
44
  // Only send email if error has not been sent in the last errorEmailCacheTime seconds
43
45
  if (now - cacheEntry.lastSent > this.dailyErrorCacheTimeMs) {
44
46
  const emailSubject = this.dailyErrorCacheTimeMs > 0
45
- ? `${options.name} Error (${cacheEntry.count} occurrences in past ${dailyErrorCacheTimeMinutes} minutes)`
46
- : `${options.name} Error`;
47
+ ? `${this.name} Error (${cacheEntry.count} occurrences in past ${dailyErrorCacheTimeMinutes} minutes)`
48
+ : `${this.name} Error`;
47
49
  for (const admin of config.EMAIL_TO) {
48
50
  mailTransporter.sendMail({
49
51
  from: config.EMAIL_FROM,
@@ -87,7 +89,7 @@ export class AppLogger {
87
89
  this.logger.error(reason);
88
90
  });
89
91
  }
90
- async sendWarningEmail(subject, message) {
92
+ async sendEmail(subject, message) {
91
93
  try {
92
94
  const mailTransporter = nodemailer.createTransport({
93
95
  host: config.EMAIL_HOST,
@@ -101,7 +103,7 @@ export class AppLogger {
101
103
  await Promise.all(config.EMAIL_TO.map(admin => mailTransporter.sendMail({
102
104
  from: config.EMAIL_FROM,
103
105
  to: admin,
104
- subject: `${subject}`,
106
+ subject: `${this.name} | ${subject}`,
105
107
  text: message,
106
108
  })));
107
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quartz-labs/logger",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Logger class for outputting logs and emailing any errors to admins",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",