FileChannel: make it possible to override ArchiveStrategy and RotateStrategy#3101
Closed
oktal wants to merge 1 commit intopocoproject:develfrom
Closed
FileChannel: make it possible to override ArchiveStrategy and RotateStrategy#3101oktal wants to merge 1 commit intopocoproject:develfrom
oktal wants to merge 1 commit intopocoproject:develfrom
Conversation
Member
|
Thanks, but please clean-up the pull request as it currently has 178 (!) modified files. |
0877da8 to
fa70c98
Compare
Contributor
Author
|
Yes, I initially branched out from |
Member
|
Thank you! |
Member
|
@oktal can you please write tests for this feature? |
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, the
FileChanneloffer limited variants ofArchiveStrategyandRotateStrategy, based on the properties of the channel.However, it might be useful for the user to provide its own
ArchiveStrategyorRotateStrategy.Such a use case would be, for example, to add a header every-time a new log file is created (or rotated).
Without access to the
ArchiveStrategy, this is currently not possible.This Pull Request just makes it possible for the user to inherit from
FileChanneland overridecreateArchiveStrategyorcreateRotationStrategyvirtual functions.Note that this PR also adds a new
open()function to theArchiveStrategyinterface so that the user can know from the strategy that a log file has been opened by theFileChanneland implement custom behavior from there (such as writing a header to the file).