Closed kareldonk closed 1 year ago
That is setting up localstorage, there is also an InMemoryStorage implementation.
I believe you can do something like:
await Exceptionless.startup(c => {
c.apiKey = 'blah';
c.services.storage = new InMemoryStorage();
});
@ejsmith I tried that but get the same issue. It seems that the localstorage on line 22 gets initialized before the chance to override which happens after line 35.
Hmm... that stinks. Guess we should put this line in a try catch and fallback to using InMemoryStorage if it fails. Could you create a PR for that?
Should just need to try catch it. If it fails then it will default to in memory out of the box
If I try/catch it, the Node* plugins being added on the following lines after line 22 won't have been added. I'm assuming that they are important and that I want to use them of course.
It would be better if I could somehow communicate to the NodeExceptionlessClient
that it should not use the localstorage but leave the memorystorage as is.
Or, delay initialization of the localstorage, allowing for override to happen during startup.
@kareldonk This has been fixed in https://github.com/exceptionless/Exceptionless.JavaScript/releases/tag/v3.0.5 Please let us know if you have any questions.
Thanks, that was quick. I already deployed it and it works.
I tried using the exceptionless client for nodejs
@exceptionless/node
version3.0.4
as follows:When running the program as an AWS Lambda function, it throws the following error:
This is caused by the
NodeExceptionlessClient
class using theLocalStoragePolyfill
. It's not possible to write to the partition where the script runs on AWS Lambda as far as I know. I couldn't find a way to override the usage of theLocalStoragePolyfill
to use memory storage either. Am I overlooking something or is this an issue that needs to be addressed?