Skip to content

Commit 07648f9

Browse files
committed
remove levels, use _error + full_message for critical errors, _failure_msg for less critical errors
1 parent de985e1 commit 07648f9

File tree

14 files changed

+65
-105
lines changed

14 files changed

+65
-105
lines changed

app.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ let startSMTPInterfaces = done => {
8686
log.error('SMTP/' + smtpProxy.interface, 'Could not start ' + key + ' MTA server');
8787
log.loggelf({
8888
short_message: `${gelfCode('SMTP_START_FAILED')} Could not start SMTP interface`,
89-
level: 3,
9089
full_message: err && err.stack ? err.stack : undefined,
90+
_error: err.message,
9191
_logger: 'SMTP/' + smtpProxy.interface,
9292
_smtp_interface: smtpProxy.interface,
9393
_smtp_key: key,
@@ -114,8 +114,8 @@ startSMTPInterfaces(err => {
114114
log.error('QS', 'Could not start Queue server');
115115
log.loggelf({
116116
short_message: `${gelfCode('QUEUE_SERVER_START_FAILED')} Could not start queue server`,
117-
level: 3,
118117
full_message: err && err.stack ? err.stack : undefined,
118+
_error: err.message,
119119
_logger: 'QS',
120120
_port: config.queueServer && config.queueServer.port,
121121
_host: config.queueServer && (config.queueServer.host || config.queueServer.hostname)
@@ -131,8 +131,8 @@ startSMTPInterfaces(err => {
131131
log.error('API', 'Could not start API server');
132132
log.loggelf({
133133
short_message: `${gelfCode('API_START_FAILED')} Could not start API server`,
134-
level: 3,
135134
full_message: err && err.stack ? err.stack : undefined,
135+
_error: err.message,
136136
_logger: 'API',
137137
_port: config.api && config.api.port,
138138
_host: config.api && (config.api.host || config.api.hostname)
@@ -151,8 +151,8 @@ startSMTPInterfaces(err => {
151151
log.error('Service', 'Failed to change group to "%s" (%s)', config.group, E.message);
152152
log.loggelf({
153153
short_message: `${gelfCode('SETGID_FAILED')} Failed to change group`,
154-
level: 3,
155154
full_message: E && E.stack ? E.stack : undefined,
155+
_error: E.message,
156156
_logger: 'Service',
157157
_group: config.group
158158
});
@@ -167,8 +167,8 @@ startSMTPInterfaces(err => {
167167
log.error('Service', 'Failed to change user to "%s" (%s)', config.user, E.message);
168168
log.loggelf({
169169
short_message: `${gelfCode('SETUID_FAILED')} Failed to change user`,
170-
level: 3,
171170
full_message: E && E.stack ? E.stack : undefined,
171+
_error: E.message,
172172
_logger: 'Service',
173173
_user: config.user
174174
});
@@ -181,8 +181,8 @@ startSMTPInterfaces(err => {
181181
log.error('Queue', 'Could not initialize sending queue');
182182
log.loggelf({
183183
short_message: `${gelfCode('QUEUE_INIT_FAILED')} Could not initialize sending queue`,
184-
level: 3,
185184
full_message: err && err.stack ? err.stack : undefined,
185+
_error: err.message,
186186
_logger: 'Queue'
187187
});
188188
log.error('Queue', err);
@@ -273,8 +273,8 @@ process.on('uncaughtException', err => {
273273
log.error('Process', 'Uncaught exception');
274274
log.loggelf({
275275
short_message: `${gelfCode('UNCAUGHT_EXCEPTION')} Uncaught exception`,
276-
level: 2,
277276
full_message: err && err.stack ? err.stack : undefined,
277+
_error: err.message,
278278
_logger: 'Process'
279279
});
280280
log.error('Process', err);

lib/api-server.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -434,11 +434,10 @@ class APIServer {
434434
log.error('FETCH', '%s LOADFAIL error="%s"', err.message);
435435
emitGelf({
436436
short_message: `${gelfCode('FETCH_LOAD_FAILED')} Failed to load message`,
437-
level: 5,
438437
_stack: err && err.stack ? err.stack : undefined,
439438
_logger: 'FETCH',
440439
_message_id: req.params.id,
441-
_error: err.message
440+
_failure_msg: err.message
442441
});
443442
res.emit('error', err);
444443
});

lib/bounces.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ function reloadBounces() {
1414
log.error('Bounces/' + process.pid, 'Could not load bounce rules. %s', E.message);
1515
emitGelf({
1616
short_message: `${gelfCode('BOUNCE_RULES_LOAD_FAILED')} Could not load bounce rules`,
17-
level: 3,
1817
full_message: E && E.stack ? E.stack : undefined,
1918
_logger: 'Bounces/' + process.pid,
2019
_file: path.join(__dirname, '..', 'config', 'bounces.txt'),
@@ -45,12 +44,11 @@ function reloadBounces() {
4544
log.error('Bounces/' + process.pid, 'Invalid bounce rule regex /%s/ on line %s', parts[0], nr + 1);
4645
emitGelf({
4746
short_message: `${gelfCode('BOUNCE_RULE_REGEX_INVALID')} Invalid bounce rule regex`,
48-
level: 4,
4947
_stack: E && E.stack ? E.stack : undefined,
5048
_logger: 'Bounces/' + process.pid,
5149
_pattern: parts[0],
5250
_line: nr + 1,
53-
_error: E.message
51+
_failure_msg: E.message
5452
});
5553
}
5654

lib/db.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ let getRedisConnection = callback => {
2424
log.error('Redis/' + process.pid, '%s', err.message);
2525
emitGelf({
2626
short_message: `${gelfCode('REDIS_CONNECTION_ERROR')} Redis connection error`,
27-
level: 4,
2827
_stack: err && err.stack ? err.stack : undefined,
2928
_logger: 'Redis/' + process.pid,
3029
_pid: process.pid,
31-
_error: err.message
30+
_failure_msg: err.message
3231
});
3332
if (!redisReturned) {
3433
redisReturned = true;

lib/ip-tools.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,10 @@ class RedisCache {
4444
log.error(logKey, 'DNSREDISERR SET key=%s error=%s', key, args[0].message);
4545
emitGelf({
4646
short_message: `${gelfCode('DNS_REDIS_SET_FAILED')} Failed to set DNS cache`,
47-
level: 6,
4847
_stack: args[0] && args[0].stack ? args[0].stack : undefined,
4948
_logger: logKey,
5049
_key: key,
51-
_error: args[0].message
50+
_failure_msg: args[0].message
5251
});
5352
}
5453
callback(...args);
@@ -80,11 +79,10 @@ class RedisCache {
8079
log.error(logKey, 'DNSREDISERR GET key=%s error=%s', key, err.message);
8180
emitGelf({
8281
short_message: `${gelfCode('DNS_REDIS_GET_FAILED')} Failed to get DNS cache`,
83-
level: 6,
8482
_stack: err && err.stack ? err.stack : undefined,
8583
_logger: logKey,
8684
_key: key,
87-
_error: err.message
85+
_failure_msg: err.message
8886
});
8987
// treat errors as a MISS
9088
return callback();

lib/mail-drop.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,11 @@ class MailDrop {
179179
log.error('Queue/' + process.pid, 'id=%s %s NOQUEUE store "%s" (%s)', envelope.sessionId, id, err.message, messageInfo.format());
180180
emitGelf({
181181
short_message: `${gelfCode('QUEUE_STORE_FAILED')} Failed to store queued message`,
182-
level: 4,
183182
_stack: err && err.stack ? err.stack : undefined,
184183
_logger: 'Queue/' + process.pid,
185184
_session_id: envelope.sessionId,
186185
_message_id: id,
187-
_error: err.message,
186+
_failure_msg: err.message,
188187
_message_info: messageInfo.format()
189188
});
190189
let keys = messageInfo.keys();
@@ -220,12 +219,11 @@ class MailDrop {
220219
log.error('Queue/' + process.pid, 'id=%s %s NOQUEUE meta "%s" (%s)', envelope.sessionId, id, err.message, messageInfo.format());
221220
emitGelf({
222221
short_message: `${gelfCode('QUEUE_META_FAILED')} Failed to store queue metadata`,
223-
level: 4,
224222
_stack: err && err.stack ? err.stack : undefined,
225223
_logger: 'Queue/' + process.pid,
226224
_session_id: envelope.sessionId,
227225
_message_id: id,
228-
_error: err.message,
226+
_failure_msg: err.message,
229227
_message_info: messageInfo.format()
230228
});
231229
let keys = messageInfo.keys();
@@ -253,12 +251,11 @@ class MailDrop {
253251
log.error('Queue/' + process.pid, 'id=%s %s NOQUEUE push "%s" (%s)', envelope.sessionId, id, err.message, messageInfo.format());
254252
emitGelf({
255253
short_message: `${gelfCode('QUEUE_PUSH_FAILED')} Failed to push message to queue`,
256-
level: 4,
257254
_stack: err && err.stack ? err.stack : undefined,
258255
_logger: 'Queue/' + process.pid,
259256
_session_id: envelope.sessionId,
260257
_message_id: id,
261-
_error: err.message,
258+
_failure_msg: err.message,
262259
_message_info: messageInfo.format()
263260
});
264261
keys.error = err.message;

lib/mail-queue.js

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -642,13 +642,12 @@ class MailQueue {
642642
log.error('Delete', '%s.%s DELERROR %s', delivery.id, delivery.seq, err.message);
643643
emitGelf({
644644
short_message: `${gelfCode('QUEUE_DELETE_FAILED')} Failed to delete delivery`,
645-
level: 4,
646645
_stack: err && err.stack ? err.stack : undefined,
647646
_logger: 'Delete',
648647
_delivery_id: delivery.id,
649648
_delivery_seq: delivery.seq,
650649
_zone: delivery.zoneName,
651-
_error: err.message
650+
_failure_msg: err.message
652651
});
653652
} else {
654653
log.info('Delete', '%s.%s DELSUCCESS Delivery entry deleted', delivery.id, delivery.seq);
@@ -869,12 +868,11 @@ class MailQueue {
869868
log.error('Queue', '%s.%s GET META %s', delivery.id, delivery.seq, err.message);
870869
emitGelf({
871870
short_message: `${gelfCode('QUEUE_META_FETCH_FAILED')} Failed to fetch delivery metadata`,
872-
level: 5,
873871
_stack: err && err.stack ? err.stack : undefined,
874872
_logger: 'Queue',
875873
_delivery_id: delivery.id,
876874
_delivery_seq: delivery.seq,
877-
_error: err.message
875+
_failure_msg: err.message
878876
});
879877
return callback(null, true);
880878
}
@@ -907,12 +905,11 @@ class MailQueue {
907905
log.error('Queue', '%s.%s queue:delayed %s', deliveryEntry.id, deliveryEntry.seq, err.message);
908906
emitGelf({
909907
short_message: `${gelfCode('QUEUE_DELAYED_HOOK_FAILED')} queue:delayed hook failed`,
910-
level: 5,
911908
_stack: err && err.stack ? err.stack : undefined,
912909
_logger: 'Queue',
913910
_delivery_id: deliveryEntry.id,
914911
_delivery_seq: deliveryEntry.seq,
915-
_error: err.message
912+
_failure_msg: err.message
916913
});
917914
}
918915

@@ -1125,11 +1122,10 @@ class MailQueue {
11251122
log.error('GC', '[%ss] %s', timeDiff, err.message);
11261123
emitGelf({
11271124
short_message: `${gelfCode('QUEUE_GC_FAILED')} Garbage collection failed`,
1128-
level: 4,
11291125
_stack: err && err.stack ? err.stack : undefined,
11301126
_logger: 'GC',
11311127
_duration_s: timeDiff,
1132-
_error: err.message
1128+
_failure_msg: err.message
11331129
});
11341130
this.garbageTimer = setTimeout(() => this.checkGarbage(), 5 * 60 * 1000);
11351131
this.garbageTimer.unref();
@@ -1165,10 +1161,9 @@ class MailQueue {
11651161
log.error('Queue', 'Error fetching counters: %s', err.message);
11661162
emitGelf({
11671163
short_message: `${gelfCode('QUEUE_COUNTERS_FAILED')} Failed to fetch queue counters`,
1168-
level: 6,
11691164
_stack: err && err.stack ? err.stack : undefined,
11701165
_logger: 'Queue',
1171-
_error: err.message
1166+
_failure_msg: err.message
11721167
});
11731168
return next();
11741169
}
@@ -1184,10 +1179,9 @@ class MailQueue {
11841179
log.error('Queue', 'Error fetching counters: %s', err.message);
11851180
emitGelf({
11861181
short_message: `${gelfCode('QUEUE_COUNTERS_FAILED')} Failed to fetch queue counters`,
1187-
level: 6,
11881182
_stack: err && err.stack ? err.stack : undefined,
11891183
_logger: 'Queue',
1190-
_error: err.message
1184+
_failure_msg: err.message
11911185
});
11921186
return next();
11931187
}
@@ -1357,7 +1351,6 @@ class MailQueue {
13571351
log.error('Queue', 'Could not initialize database: %s', err.message);
13581352
emitGelf({
13591353
short_message: `${gelfCode('QUEUE_DB_INIT_FAILED')} Could not initialize queue database`,
1360-
level: 3,
13611354
full_message: err && err.stack ? err.stack : undefined,
13621355
_logger: 'Queue',
13631356
_error: err.message
@@ -1389,13 +1382,12 @@ class MailQueue {
13891382
log.error('mongo', 'Failed creating index %s %s. %s', indexpos, JSON.stringify(collection + '.' + index.index.name), err.message);
13901383
emitGelf({
13911384
short_message: `${gelfCode('QUEUE_INDEX_CREATE_FAILED')} Failed to create MongoDB index`,
1392-
level: 4,
13931385
_stack: err && err.stack ? err.stack : undefined,
13941386
_logger: 'mongo',
13951387
_index_pos: indexpos,
13961388
_collection: collection,
13971389
_index_name: index.index && index.index.name,
1398-
_error: err.message
1390+
_failure_msg: err.message
13991391
});
14001392
} else if (r.numIndexesAfter !== r.numIndexesBefore) {
14011393
log.verbose('mongo', 'Created index %s %s', indexpos, JSON.stringify(collection + '.' + index.index.name));

lib/receiver/smtp-proxy.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ class SMTPProxy {
5858
log.error('SMTP/' + this.name + '/' + pid, 'Receiver process %s for %s exited with %s', childId, this.name, code || signal);
5959
emitGelf({
6060
short_message: `${gelfCode('SMTP_RECEIVER_EXITED')} Receiver process exited unexpectedly`,
61-
level: 4,
6261
_logger: 'SMTP/' + this.name + '/' + pid,
6362
_interface: this.name,
6463
_child_id: childId,
6564
_pid: pid,
6665
_exit_code: code,
67-
_signal: signal
66+
_signal: signal,
67+
full_message: 'Receiver process exited unexpectedly',
68+
_error: 'Receiver process exited unexpectedly'
6869
});
6970

7071
// Respawn after 5 seconds
@@ -96,11 +97,10 @@ class SMTPProxy {
9697
log.error('SMTP/' + this.name, 'Failed setting up TLS. %s', err.message);
9798
emitGelf({
9899
short_message: `${gelfCode('SMTP_TLS_SETUP_FAILED')} Failed to set up TLS`,
99-
level: 5,
100100
_stack: err && err.stack ? err.stack : undefined,
101101
_logger: 'SMTP/' + this.name,
102102
_interface: this.name,
103-
_error: err.message
103+
_failure_msg: err.message
104104
});
105105
}
106106
if (tlsSocket) {

lib/remote-queue.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ class RemoteQueue {
3232
log.error('StoreStream', '%s STREAMERR %s', id, err.message);
3333
emitGelf({
3434
short_message: `${gelfCode('QUEUE_STORE_FAILED')} Failed to store message stream`,
35-
level: 4,
36-
_stack: err && err.stack ? err.stack : undefined,
35+
full_message: err && err.stack ? err.stack : undefined,
3736
_logger: 'StoreStream',
3837
_message_id: id,
3938
_error: err.message
@@ -125,7 +124,6 @@ class RemoteQueue {
125124
log.error('Queue/' + process.pid, 'Could not initialize database: %s', err.message);
126125
emitGelf({
127126
short_message: `${gelfCode('QUEUE_DB_INIT_FAILED')} Could not initialize queue database`,
128-
level: 3,
129127
full_message: err && err.stack ? err.stack : undefined,
130128
_logger: 'Queue/' + process.pid,
131129
_pid: process.pid,

0 commit comments

Comments
 (0)