Skip to content

Commit 79ec577

Browse files
committed
Breadcrumbs history configurable number
1 parent fd5a305 commit 79ec577

File tree

9 files changed

+45
-22
lines changed

9 files changed

+45
-22
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ new Elmahio({
3131
application: null,
3232
filter: null,
3333
captureConsoleMinimumLevel: 'none',
34-
breadcrumbs: false
34+
breadcrumbs: false,
35+
breadcrumbsNumber: 10
3536
});
3637
```
3738

dist/elmahio.js

Lines changed: 14 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/elmahio.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/elmahio.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/elmahio.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

elmah.io.javascript.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata>
4-
<version>3.5.3</version>
4+
<version>3.5.4</version>
55
<authors>elmah.io</authors>
66
<owners>elmah.io</owners>
77
<id>elmah.io.javascript</id>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "elmah.io.javascript",
33
"description": "elmah.io javascript logger.",
4-
"version": "3.5.3",
4+
"version": "3.5.4",
55
"repository": "https://github.com/elmahio/elmah.io.javascript",
66
"license": "Apache-2.0",
77
"main": "dist/elmahio.js",

src/elmahio.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* elmah.io Javascript Logger - version 3.5.3
2+
* elmah.io Javascript Logger - version 3.5.4
33
* (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io
44
*/
55

@@ -616,7 +616,8 @@
616616
application: null,
617617
filter: null,
618618
captureConsoleMinimumLevel: 'none',
619-
breadcrumbs: false
619+
breadcrumbs: false,
620+
breadcrumbsNumber: 10
620621
};
621622

622623
var breadcrumbsDelay = 100;
@@ -1068,9 +1069,8 @@
10681069
}
10691070
gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);
10701071
});
1071-
})));
1072-
}
1073-
);
1072+
})));
1073+
});
10741074

10751075
promise.then(function(newFrames){
10761076
newFrames.forEach(function(stackFrame, i){
@@ -1111,12 +1111,20 @@
11111111
// Private methods
11121112

11131113
var recordBreadcrumb = function(obj) {
1114-
var crumb = merge_objects({
1115-
'dateTime': new Date().toISOString()
1116-
}, obj);
1117-
1114+
var crumb = merge_objects({'dateTime': new Date().toISOString()}, obj),
1115+
breadcrumbs_number = 10;
1116+
11181117
breadcrumbs.push(crumb);
1119-
if (breadcrumbs.length > 10) { // max 10 breadcrumbs
1118+
1119+
if(options.breadcrumbsNumber && typeof options.breadcrumbsNumber === "number" ) {
1120+
if(options.breadcrumbsNumber > 25) {
1121+
breadcrumbs_number = 25;
1122+
} else if(options.breadcrumbsNumber >= 10 && options.breadcrumbsNumber <= 25) {
1123+
breadcrumbs_number = options.breadcrumbsNumber;
1124+
}
1125+
}
1126+
1127+
if (breadcrumbs.length >= breadcrumbs_number) {
11201128
breadcrumbs.shift();
11211129
}
11221130
}

typescript/elmahio.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ declare namespace Elmahio {
9999
* Log breadcrumbs
100100
*/
101101
breadcrumbs?: boolean;
102+
/**
103+
* Number of breadcrumbs to log.
104+
* Minimum 10, maximum 25 breadcrumbs.
105+
*/
106+
breadcrumbsNumber?: number;
102107
}
103108

104109
interface Item {

0 commit comments

Comments
 (0)