It will be nice to have documentation about error handling callback in greenlock #19

Closed
by Ghost opened 6 years ago · 5 comments
Ghost commented 6 years ago

I tried to add Sentry support to handle greenlock exceptions and spent substantial amount of time to find solution of this problem.

server.on('tlsClientError', (err) => Raven.captureException(err));

This piece of code can handle greenlock promise rejections

I tried to add Sentry support to handle greenlock exceptions and spent substantial amount of time to find solution of this problem. server.on('tlsClientError', (err) => Raven.captureException(err)); This piece of code can handle greenlock promise rejections
Owner

I’m not at all familiar with sentry, but I definitely want you to be able to handle errors.

What is the situation in which an error occurs, what kind of error is it, how does this code help, and what can I do or change to make it easier for you to do what you’re trying to do?

I’m not at all familiar with sentry, but I definitely want you to be able to handle errors. What is the situation in which an error occurs, what kind of error is it, how does this code help, and what can I do or change to make it easier for you to do what you’re trying to do?

Sentry (getsentry.com) allows to track exceptions. Here is an example from my service.

This piece of code:

const server = require('https');
server.createServer(lex.httpsOptions, lex.middleware(app))
server.listen(443, function () {
console.log("Listening for ACME tls-sni-01 challenges and serve app on", this.address());
});
server.on('tlsClientError', (err) => winston.error(err));

allows to add custom error handler for greenlock

Sentry (getsentry.com) allows to track exceptions. Here is an example from my service. This piece of code: const server = require('https'); server.createServer(lex.httpsOptions, lex.middleware(app)) server.listen(443, function () { console.log("Listening for ACME tls-sni-01 challenges and serve app on", this.address()); }); server.on('tlsClientError', (err) => winston.error(err)); allows to add custom error handler for greenlock

Sentry (getsentry.com) allows to track exceptions. Here is an example from my service.

This piece of code:

  const server = require('https');
  server.createServer(lex.httpsOptions, lex.middleware(app))
  server.listen(443, function () {
      console.log("Listening for ACME tls-sni-01 challenges and serve app on", this.address());
  });
  server.on('tlsClientError', (err) => winston.error(err));

allows to add custom error handler for greenlock

Sentry (getsentry.com) allows to track exceptions. Here is an example from my service. This piece of code: ``` const server = require('https'); server.createServer(lex.httpsOptions, lex.middleware(app)) server.listen(443, function () { console.log("Listening for ACME tls-sni-01 challenges and serve app on", this.address()); }); server.on('tlsClientError', (err) => winston.error(err)); ``` allows to add custom error handler for greenlock

Sentry tracks any unhandled exceptions, posts them to your online saas account and emails you notification. It looks to me like a a continuous improvement tool since it notifies you of error conditions that you hadn't considered in your code for further investigation.

It's effectively a giant try catch block around your code which then logs the error and context to a database so you can be informed and query the metadata.

It looks like initially this could be handled with documentation. If someone is using the express version, they can add sentry as a wrapper against the main module - but this looks like a raven/sentry piece of info rather than anything to do with greenlock.

It might be useful to provide docs on how to override the logging and exception handling instead but that's user docs rather than code change or even usage docs.

aj - whats the best way to provide you with documentation enhancements?
gugu - are you able to create a pull request for helpful information?

Sentry tracks any unhandled exceptions, posts them to your online saas account and emails you notification. It looks to me like a a continuous improvement tool since it notifies you of error conditions that you hadn't considered in your code for further investigation. It's effectively a giant try catch block around your code which then logs the error and context to a database so you can be informed and query the metadata. It looks like initially this could be handled with documentation. If someone is using the express version, they can add sentry as a wrapper against the main module - but this looks like a raven/sentry piece of info rather than anything to do with greenlock. It might be useful to provide docs on how to override the logging and exception handling instead but that's user docs rather than code change or even usage docs. aj - whats the best way to provide you with documentation enhancements? gugu - are you able to create a pull request for helpful information?
Owner

Greenlock v3 now has a notify facility for handling background errors, as well as general statuses:

https://git.coolaj86.com/coolaj86/greenlock.js/issues/24#issuecomment-1371

Greenlock v3 now has a `notify` facility for handling background errors, as well as general statuses: https://git.coolaj86.com/coolaj86/greenlock.js/issues/24#issuecomment-1371
coolaj86 closed this issue 5 years ago
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.