For log file open with full share access, if user sets "HARMONY_LOG_FILE" append obsolete to old FileLog #83
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.
This fixes two issues:
By default we open log files with 0 share access, this means you can't even tail the file from an external process, this changes it to full share so one could even remove it while open (win will not actually delete until we release the handle though).
If the user sets the log file using
HARMONY_LOG_FILE
env var and makes any calls to the FileLog handler, this was a guaranteed crash due to the prior locking issue. Even though this will now fix the lock issue the obsolete handler would likely still cause issues as StreamWriter doesn't really expect others to write the file while its using it.unrelated, the upstream harmony always appends the log file, vs HarmonyX which truncates on each start. I prefer the HX behavior but wanted to note the difference.