mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-07 13:00:58 +08:00
Merge branch 'microsoft_main' into online_srv
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
|
||||
import pandas as pd
|
||||
import copy
|
||||
import pathlib
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from .order import Order
|
||||
|
||||
"""
|
||||
|
||||
@@ -61,7 +61,7 @@ class DataHandler(Serializable):
|
||||
instruments=None,
|
||||
start_time=None,
|
||||
end_time=None,
|
||||
data_loader: Tuple[dict, str, DataLoader] = None,
|
||||
data_loader: Union[dict, str, DataLoader] = None,
|
||||
init_data=True,
|
||||
fetch_orig=True,
|
||||
):
|
||||
@@ -74,7 +74,7 @@ class DataHandler(Serializable):
|
||||
start_time of the original data.
|
||||
end_time :
|
||||
end_time of the original data.
|
||||
data_loader : Tuple[dict, str, DataLoader]
|
||||
data_loader : Union[dict, str, DataLoader]
|
||||
data loader to load the data.
|
||||
init_data :
|
||||
initialize the original data in the constructor.
|
||||
@@ -305,7 +305,7 @@ class DataHandlerLP(DataHandler):
|
||||
instruments=None,
|
||||
start_time=None,
|
||||
end_time=None,
|
||||
data_loader: Tuple[dict, str, DataLoader] = None,
|
||||
data_loader: Union[dict, str, DataLoader] = None,
|
||||
infer_processors=[],
|
||||
learn_processors=[],
|
||||
process_type=PTYPE_A,
|
||||
|
||||
75
qlib/log.py
75
qlib/log.py
@@ -165,8 +165,81 @@ class LogFilter(logging.Filter):
|
||||
return allow
|
||||
|
||||
|
||||
def set_global_logger_level(level: int):
|
||||
def set_global_logger_level(level: int, return_orig_handler_level: bool = False):
|
||||
"""set qlib.xxx logger handlers level
|
||||
|
||||
Parameters
|
||||
----------
|
||||
level: int
|
||||
logger level
|
||||
|
||||
return_orig_handler_level: bool
|
||||
return origin handler level map
|
||||
|
||||
Examples
|
||||
---------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import qlib
|
||||
import logging
|
||||
from qlib.log import get_module_logger, set_global_logger_level
|
||||
qlib.init()
|
||||
|
||||
tmp_logger_01 = get_module_logger("tmp_logger_01", level=logging.INFO)
|
||||
tmp_logger_01.info("1. tmp_logger_01 info show")
|
||||
|
||||
global_level = logging.WARNING + 1
|
||||
set_global_logger_level(global_level)
|
||||
tmp_logger_02 = get_module_logger("tmp_logger_02", level=logging.INFO)
|
||||
tmp_logger_02.log(msg="2. tmp_logger_02 log show", level=global_level)
|
||||
|
||||
tmp_logger_01.info("3. tmp_logger_01 info do not show")
|
||||
|
||||
"""
|
||||
_handler_level_map = {}
|
||||
qlib_logger = logging.root.manager.loggerDict.get("qlib", None)
|
||||
if qlib_logger is not None:
|
||||
for _handler in qlib_logger.handlers:
|
||||
_handler_level_map[_handler] = _handler.level
|
||||
_handler.level = level
|
||||
return _handler_level_map if return_orig_handler_level else None
|
||||
|
||||
|
||||
@contextmanager
|
||||
def set_global_logger_level_cm(level: int):
|
||||
"""set qlib.xxx logger handlers level to use contextmanager
|
||||
|
||||
Parameters
|
||||
----------
|
||||
level: int
|
||||
logger level
|
||||
|
||||
Examples
|
||||
---------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import qlib
|
||||
import logging
|
||||
from qlib.log import get_module_logger, set_global_logger_level_cm
|
||||
qlib.init()
|
||||
|
||||
tmp_logger_01 = get_module_logger("tmp_logger_01", level=logging.INFO)
|
||||
tmp_logger_01.info("1. tmp_logger_01 info show")
|
||||
|
||||
global_level = logging.WARNING + 1
|
||||
with set_global_logger_level_cm(global_level):
|
||||
tmp_logger_02 = get_module_logger("tmp_logger_02", level=logging.INFO)
|
||||
tmp_logger_02.log(msg="2. tmp_logger_02 log show", level=global_level)
|
||||
tmp_logger_01.info("3. tmp_logger_01 info do not show")
|
||||
|
||||
tmp_logger_01.info("4. tmp_logger_01 info show")
|
||||
|
||||
"""
|
||||
_handler_level_map = set_global_logger_level(level, return_orig_handler_level=True)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
for _handler, _level in _handler_level_map.items():
|
||||
_handler.level = _level
|
||||
|
||||
Reference in New Issue
Block a user