-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: Include Unwritten Log Entries On Error #519
Comments
Thx for your suggestion ! Interesting idea that can definitely help reducing logging cost while having a verbose output on error. we will look into it . |
I like this idea very much. It addresses my main use case for sampling rate. But it's more cost-efficient and we don't miss anything. I suppose usage will be like this?
In this case, the client needs to make sure that they catch any error and print out the log to get it flushed out. It can be used with Middy's error-logger, to ensure that uncaught error are always handled. |
Yes, it is definitely dependent on the code catching and logging an error. Came across this repo, which is doing what I'm talking about here. Doesn't seem too bad in this example, but I haven't looked at the logging code in this repo to see how complex it might be here. |
There is a blog about this. Useful for implementation reference: https://dev.to/aws-builders/saving-on-aws-lambda-amazon-cloudwatch-logs-costs-51od Notice the |
I really like this idea. Could I suggest using Use case:
Why? |
Powertools for Python introduced a somewhat related feature that allows to emit logs when an exception is raised: see docs here. |
I really like this feature request and it's a very useful use case. I am in favour of adding this in our backlog. |
While the feature was implemented in Powertools for Python, at the moment it seems like it's unstable - aws-powertools/powertools-lambda-python/issues/1798 |
I'm not sure this is the same thing that I'm asking for. It seems that the feature in the Python implementation is to log an exception that wasn't handled. That is very different than logging additional messages (from different log levels) when an error is logged. The issue they are having is related to capturing the uncaught exception. That would not be an issue for what I'm requesting. |
My bad, I confused / conflated the two use cases but after re-reading I agree that they are different. Adding back the original labels. |
Moving to backlog, as we've got some customer demand. One thing that would be suuuper helpful to prioritize is to have company names, as GitHub doesn't always have that info -- feel free to email us PS: adding Python issue too so they're linked. |
Description of the feature request
It would be great if the logger could collect some unwritten logs (maybe a configurable amount that defaults to 10 or something) and if there is an
error
logged it would also write any logs that were not already written.Problem statement
I've always hated that the debug logs are never available when I need them. They are typically turned off in a production system, but when there is an error I'd like to have information from those logs. I don't want them most of the time, so really only when an error occurs. Sampling isn't a good option because the error may be intermittent and the logs will not be present for the relevant time.
Summary of the feature
Basically, at the point when the decision is made whether to log it would either log (current functionality) or store the log. If there was an error log it would log the error as well as everything stored (and flush the store).
Code examples
Benefits for you and the wider AWS community
Faster time to resolution on errors
Describe alternatives you've considered
I've looked at doing something like this myself but haven't tried it yet. As I mentioned, sampling doesn't accomplish what I'm looking for.
Additional context
Related issues, RFCs
The text was updated successfully, but these errors were encountered: