fluent / fluent/fluent-logger-java
Improving error handling
- Ngôn ngữ chính
- Java
- Star
- 210
- Fork
- 86
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I and @komamitsu san discussed how to improve error reporting of the current 0.2.x versions.
The major changes we considered are:
- Add `setHandler(handler)` method to FluentLogger to accept an application-specific error handler.
- In the error handler, provide a method for retrieving the remaining logs (the last one or all logs) that are not yet sent to fluentd.
- The last logs are message packed Event objects. We need to provide a decoder so that the last log is meaningful to the user.
In this change, we should consider the following problem:
- (Plan 1) A timing to report error. Currently errors can be reported in three ways: return value of `log` method (true or false), unmanaged exceptions or exceptions thrown when the buffer is full. If an error handler is added, `log` method should be **non-blocking** method, and the error must be handled in the user-defined error handler (in the subsequent code or in another thread). Does it the right choice?
Another option would be:
- (Plan 2) Making `log` a **blocking** method and reporting errors by Exception rather than returning true or false. The last log event should be included in the thrown exception.
After writing this ticket, Plan 2 now looks simpler to me.
Any idea?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.