mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-21 00:40:01 +02:00
Merge pull request #210 from tiqi-group/logging/updates_handlers
Feat: Updates logging handlers
This commit is contained in:
commit
1fbcbc72bf
@ -202,7 +202,7 @@ def setup_sio_events(sio: socketio.AsyncServer, state_manager: StateManager) ->
|
|||||||
@sio.event
|
@sio.event
|
||||||
async def trigger_method(sid: str, data: TriggerMethodDict) -> Any:
|
async def trigger_method(sid: str, data: TriggerMethodDict) -> Any:
|
||||||
async with sio.session(sid) as session:
|
async with sio.session(sid) as session:
|
||||||
logger.debug(
|
logger.info(
|
||||||
"Client [%s] is triggering the method '%s'",
|
"Client [%s] is triggering the method '%s'",
|
||||||
session["client_id"],
|
session["client_id"],
|
||||||
data["access_path"],
|
data["access_path"],
|
||||||
|
@ -29,22 +29,44 @@ LOGGING_CONFIG = {
|
|||||||
"datefmt": "%Y-%m-%d %H:%M:%S",
|
"datefmt": "%Y-%m-%d %H:%M:%S",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"filters": {
|
||||||
|
"only_pydase_server": {
|
||||||
|
"()": "pydase.utils.logging.NameFilter",
|
||||||
|
"match": "pydase.server",
|
||||||
|
},
|
||||||
|
"exclude_pydase_server": {
|
||||||
|
"()": "pydase.utils.logging.NameFilter",
|
||||||
|
"match": "pydase.server",
|
||||||
|
"invert": True,
|
||||||
|
},
|
||||||
|
},
|
||||||
"handlers": {
|
"handlers": {
|
||||||
"default": {
|
"stdout_handler": {
|
||||||
"formatter": "default",
|
"formatter": "default",
|
||||||
"class": "logging.StreamHandler",
|
"class": "logging.StreamHandler",
|
||||||
"stream": "ext://sys.stdout",
|
"stream": "ext://sys.stdout",
|
||||||
|
"filters": ["only_pydase_server"],
|
||||||
|
},
|
||||||
|
"stderr_handler": {
|
||||||
|
"formatter": "default",
|
||||||
|
"class": "logging.StreamHandler",
|
||||||
|
"stream": "ext://sys.stderr",
|
||||||
|
"filters": ["exclude_pydase_server"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"loggers": {
|
"loggers": {
|
||||||
"pydase": {"handlers": ["default"], "level": LOG_LEVEL, "propagate": False},
|
"pydase": {
|
||||||
|
"handlers": ["stdout_handler", "stderr_handler"],
|
||||||
|
"level": LOG_LEVEL,
|
||||||
|
"propagate": False,
|
||||||
|
},
|
||||||
"aiohttp_middlewares": {
|
"aiohttp_middlewares": {
|
||||||
"handlers": ["default"],
|
"handlers": ["stderr_handler"],
|
||||||
"level": logging.WARNING,
|
"level": logging.WARNING,
|
||||||
"propagate": False,
|
"propagate": False,
|
||||||
},
|
},
|
||||||
"aiohttp": {
|
"aiohttp": {
|
||||||
"handlers": ["default"],
|
"handlers": ["stderr_handler"],
|
||||||
"level": logging.INFO,
|
"level": logging.INFO,
|
||||||
"propagate": False,
|
"propagate": False,
|
||||||
},
|
},
|
||||||
@ -52,6 +74,23 @@ LOGGING_CONFIG = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class NameFilter(logging.Filter):
|
||||||
|
"""
|
||||||
|
Logging filter that allows filtering logs based on the logger name.
|
||||||
|
Can either include or exclude a specific logger.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, match: str, invert: bool = False):
|
||||||
|
super().__init__()
|
||||||
|
self.match = match
|
||||||
|
self.invert = invert
|
||||||
|
|
||||||
|
def filter(self, record: logging.LogRecord) -> bool:
|
||||||
|
if self.invert:
|
||||||
|
return not record.name.startswith(self.match)
|
||||||
|
return record.name.startswith(self.match)
|
||||||
|
|
||||||
|
|
||||||
class DefaultFormatter(logging.Formatter):
|
class DefaultFormatter(logging.Formatter):
|
||||||
"""
|
"""
|
||||||
A custom log formatter class that:
|
A custom log formatter class that:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user