@@ -63,6 +63,7 @@ describe('Logger', function() {
63
63
64
64
it ( 'should log error with action' , function ( ) {
65
65
const error = new Error ( 'failed' ) ;
66
+ error . data = { test : 'data' } ;
66
67
67
68
logger . fromError ( 'hi' , error , { details : 'here' } ) ;
68
69
@@ -75,10 +76,12 @@ describe('Logger', function() {
75
76
expect ( logArguments . error_name ) . to . eql ( error . name ) ;
76
77
expect ( logArguments . error_stack ) . to . eql ( error . stack ) ;
77
78
expect ( logArguments . error_message ) . to . eql ( error . message ) ;
79
+ expect ( logArguments . error_data ) . to . eql ( JSON . stringify ( error . data ) ) ;
78
80
} ) ;
79
81
80
82
it ( 'should log error as warning with action' , function ( ) {
81
83
const error = new Error ( 'failed' ) ;
84
+ error . data = { test : 'data' } ;
82
85
83
86
logger . warnFromError ( 'hi' , error , { details : 'here' } ) ;
84
87
@@ -91,6 +94,42 @@ describe('Logger', function() {
91
94
expect ( logArguments . error_name ) . to . eql ( error . name ) ;
92
95
expect ( logArguments . error_stack ) . to . eql ( error . stack ) ;
93
96
expect ( logArguments . error_message ) . to . eql ( error . message ) ;
97
+ expect ( logArguments . error_data ) . to . eql ( JSON . stringify ( error . data ) ) ;
98
+ } ) ;
99
+
100
+ it ( 'should not log error data when it is undefined' , function ( ) {
101
+ const error = new Error ( 'failed' ) ;
102
+
103
+ logger . warnFromError ( 'hi' , error , { details : 'here' } ) ;
104
+
105
+ const logArguments = JSON . parse ( console . log . args [ 0 ] ) ;
106
+ expect ( logArguments . name ) . to . eql ( 'mongo' ) ;
107
+ expect ( logArguments . action ) . to . eql ( 'hi' ) ;
108
+ expect ( logArguments . level ) . to . eql ( 40 ) ;
109
+ expect ( logArguments . details ) . to . eql ( 'here' ) ;
110
+
111
+ expect ( logArguments . error_name ) . to . eql ( error . name ) ;
112
+ expect ( logArguments . error_stack ) . to . eql ( error . stack ) ;
113
+ expect ( logArguments . error_message ) . to . eql ( error . message ) ;
114
+ expect ( logArguments ) . to . not . have . any . keys ( 'error_data' ) ;
115
+ } ) ;
116
+
117
+ it ( 'should log only 3000 character of data' , function ( ) {
118
+ const error = new Error ( 'failed' ) ;
119
+ error . data = 'exactlyTen' . repeat ( 400 ) ;
120
+
121
+ logger . warnFromError ( 'hi' , error , { details : 'here' } ) ;
122
+
123
+ const logArguments = JSON . parse ( console . log . args [ 0 ] ) ;
124
+ expect ( logArguments . name ) . to . eql ( 'mongo' ) ;
125
+ expect ( logArguments . action ) . to . eql ( 'hi' ) ;
126
+ expect ( logArguments . level ) . to . eql ( 40 ) ;
127
+ expect ( logArguments . details ) . to . eql ( 'here' ) ;
128
+
129
+ expect ( logArguments . error_name ) . to . eql ( error . name ) ;
130
+ expect ( logArguments . error_stack ) . to . eql ( error . stack ) ;
131
+ expect ( logArguments . error_message ) . to . eql ( error . message ) ;
132
+ expect ( logArguments . error_data . length ) . to . eql ( 3004 ) ;
94
133
} ) ;
95
134
96
135
describe ( '#configure' , function ( ) {
0 commit comments