Skip to content

Commit e682c97

Browse files
committed
Include offset from UTC in formatted log strings
1 parent 9588e40 commit e682c97

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

packages/logging/logging.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,10 @@ Log.format = function (obj, options) {
203203
pad2(time.getSeconds()) +
204204
'.' +
205205
pad3(time.getMilliseconds());
206-
206+
207+
// eg in San Francisco in June this will be '(-7)'
208+
var utcOffsetStr = '(' + (-(new Date().getTimezoneOffset() / 60)) + ')';
209+
207210
var appInfo = '';
208211
if (appName) appInfo += appName;
209212
if (originApp && originApp !== appName) appInfo += ' via ' + originApp;
@@ -220,6 +223,7 @@ Log.format = function (obj, options) {
220223
dateStamp,
221224
'-',
222225
timeStamp,
226+
utcOffsetStr,
223227
timeInexact ? '?' : ' ',
224228
appInfo,
225229
sourceInfo,

packages/logging/logging_test.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,48 +78,50 @@ Tinytest.add("logging - parse", function (test) {
7878

7979
Tinytest.add("logging - format", function (test) {
8080
var time = new Date(2012, 9 - 1/*0-based*/, 8, 7, 6, 5, 4);
81+
var utcOffsetStr = '(' + (-(new Date().getTimezoneOffset() / 60)) + ')';
82+
8183
_.each(['debug', 'info', 'warn', 'error'], function (level) {
8284
test.equal(
8385
Log.format({message: "message", time: time, level: level}),
84-
level.charAt(0).toUpperCase() + "20120908-07:06:05.004 message");
86+
level.charAt(0).toUpperCase() + "20120908-07:06:05.004" + utcOffsetStr + " message");
8587

8688
test.equal(
8789
Log.format({message: "message", time: time, timeInexact: true, level: level}),
88-
level.charAt(0).toUpperCase() + "20120908-07:06:05.004?message");
90+
level.charAt(0).toUpperCase() + "20120908-07:06:05.004" + utcOffsetStr + "?message");
8991

9092
test.equal(
9193
Log.format({foo1: "bar1", foo2: "bar2", time: time, level: level}),
92-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 {"foo1":"bar1","foo2":"bar2"}');
94+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' {"foo1":"bar1","foo2":"bar2"}');
9395

9496
test.equal(
9597
Log.format({message: "message", foo: "bar", time: time, level: level}),
96-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 message {"foo":"bar"}');
98+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' message {"foo":"bar"}');
9799

98100
// Has everything except stderr field
99101
test.equal(
100102
Log.format({message: "message", foo: "bar", time: time, level: level, file: "app.js", line:42, app: "myApp", originApp: "proxy", program: "server"}),
101-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 [myApp via proxy] (server:app.js:42) message {\"foo\":\"bar\"}');
103+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [myApp via proxy] (server:app.js:42) message {\"foo\":\"bar\"}');
102104

103105
// stderr
104106
test.equal(
105107
Log.format({message: "message from stderr", time: time, level: level, stderr: true}),
106-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 (STDERR) message from stderr');
108+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (STDERR) message from stderr');
107109

108110
// app/originApp
109111
test.equal(
110112
Log.format({message: "message", time: time, level: level, app: "app", originApp: "app"}),
111-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 [app] message');
113+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [app] message');
112114
test.equal(
113115
Log.format({message: "message", time: time, level: level, app: "app", originApp: "proxy"}),
114-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 [app via proxy] message');
116+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' [app via proxy] message');
115117

116118
// source info
117119
test.equal(
118120
Log.format({message: "message", time: time, level: level, file: "app.js", line: 42, program: "server"}),
119-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 (server:app.js:42) message');
121+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (server:app.js:42) message');
120122
test.equal(
121123
Log.format({message: "message", time: time, level: level, file: "app.js", line: 42}),
122-
level.charAt(0).toUpperCase() + '20120908-07:06:05.004 (app.js:42) message');
124+
level.charAt(0).toUpperCase() + '20120908-07:06:05.004' + utcOffsetStr + ' (app.js:42) message');
123125
});
124126
});
125127

0 commit comments

Comments
 (0)