Skip to content

Commit b1ce2db

Browse files
author
keijack
committed
When a logger set, the one you set will be always used event you have got a logger before you get it.
1 parent 80aab36 commit b1ce2db

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

py_eureka_client/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
SOFTWARE.
2323
"""
2424

25-
version = "0.11.12"
25+
version = "0.11.13"
2626

2727
"""
2828
Status of instances

py_eureka_client/logger.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@
3030
from threading import Thread
3131
from typing import Dict, List, Tuple
3232

33+
_custom_logger: logging.Logger = None
34+
35+
36+
def set_custom_logger(logger: logging.Logger) -> None:
37+
assert isinstance(logger, logging.Logger)
38+
global _custom_logger
39+
_custom_logger = logger
40+
3341

3442
class LazyCalledLogger(logging.Logger):
3543

@@ -90,7 +98,10 @@ class CachingLogger(LazyCalledLogger):
9098
logger_thread: LazyCalledLoggerThread = LazyCalledLoggerThread()
9199

92100
def callHandlers(self, record):
93-
CachingLogger.logger_thread.call_logger_handler(self, record)
101+
if _custom_logger is not None:
102+
_custom_logger.callHandlers(record)
103+
else:
104+
CachingLogger.logger_thread.call_logger_handler(self, record)
94105

95106

96107
class LoggerFactory:
@@ -168,8 +179,6 @@ def get_logger(self, tag: str = "pythone-simple-http-server") -> logging.Logger:
168179

169180
_logger_factories: Dict[str, LoggerFactory] = {}
170181

171-
_custom_logger: logging.Logger = None
172-
173182

174183
def get_logger_factory(tag: str = "") -> LoggerFactory:
175184
if not tag:
@@ -196,13 +205,4 @@ def set_handler(handler: logging.Handler) -> None:
196205

197206

198207
def get_logger(tag: str = "python-eureka-client") -> logging.Logger:
199-
global _custom_logger
200-
if _custom_logger:
201-
return _custom_logger
202208
return _default_logger_factory.get_logger(tag)
203-
204-
205-
def set_custom_logger(logger: logging.Logger) -> None:
206-
assert isinstance(logger, logging.Logger)
207-
global _custom_logger
208-
_custom_logger = logger

0 commit comments

Comments
 (0)