Skip to content

Commit

Permalink
[2.5] Fix log fl_ctx parsing (#3178)
Browse files Browse the repository at this point in the history
### Types of changes
<!--- Put an `x` in all the boxes that apply, and remove the not
applicable items -->
- [x] Non-breaking change (fix or new feature that would not break
existing functionality).
- [ ] Breaking change (fix or new feature that would cause existing
functionality to change).
- [ ] New tests added to cover the changes.
- [ ] Quick tests passed locally by running `./runtest.sh`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated.
  • Loading branch information
SYangster authored Jan 24, 2025
1 parent 215fd4d commit 379f1d6
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions nvflare/fuel/utils/log_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,22 +96,29 @@ def format(self, record):
message = record.getMessage()
fl_ctx_match = re.search(r"\[(.*?)\]: ", message)
if fl_ctx_match:
fl_ctx_pairs = {
pair.split("=", 1)[0]: pair.split("=", 1)[1] for pair in fl_ctx_match.group(1).split(", ")
}
record.fl_ctx = fl_ctx_match[0][:-2]
record.identity = fl_ctx_pairs["identity"] # TODO add more values as attributes?
record.msg = message.replace(fl_ctx_match[0], "")
self._style._fmt = self.fmt
try:
fl_ctx_pairs = {
pair.split("=", 1)[0]: pair.split("=", 1)[1] for pair in fl_ctx_match.group(1).split(", ")
}
record.fl_ctx = fl_ctx_match[0][:-2]
record.identity = fl_ctx_pairs["identity"] # TODO add more values as attributes?
record.msg = message.replace(fl_ctx_match[0], "")
self._style._fmt = self.fmt
except:
# found brackets pattern, but invalid fl_ctx
self.remove_empty_placeholders()
else:
for placeholder in [
" %(fl_ctx)s -",
" %(identity)s -",
]: # TODO generalize this or add default values?
self._style._fmt = self._style._fmt.replace(placeholder, "")
self.remove_empty_placeholders()

return super().format(record)

def remove_empty_placeholders(self):
for placeholder in [
" %(fl_ctx)s -",
" %(identity)s -",
]: # TODO generalize this or add default values?
self._style._fmt = self._style._fmt.replace(placeholder, "")


class ColorFormatter(BaseFormatter):
def __init__(
Expand Down

0 comments on commit 379f1d6

Please sign in to comment.