Multiserver: Add argument for timestamping STDOUT (#4266)
* core: add server arg for timestamping STDOUT * Multiserver: Implicitly use default write_mode arg in init_logging Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
This commit is contained in:
parent
472d2d5406
commit
21dbfd2472
|
@ -2378,6 +2378,8 @@ def parse_args() -> argparse.Namespace:
|
||||||
parser.add_argument('--cert_key', help="Path to SSL Certificate Key file")
|
parser.add_argument('--cert_key', help="Path to SSL Certificate Key file")
|
||||||
parser.add_argument('--loglevel', default=defaults["loglevel"],
|
parser.add_argument('--loglevel', default=defaults["loglevel"],
|
||||||
choices=['debug', 'info', 'warning', 'error', 'critical'])
|
choices=['debug', 'info', 'warning', 'error', 'critical'])
|
||||||
|
parser.add_argument('--logtime', help="Add timestamps to STDOUT",
|
||||||
|
default=defaults["logtime"], action='store_true')
|
||||||
parser.add_argument('--location_check_points', default=defaults["location_check_points"], type=int)
|
parser.add_argument('--location_check_points', default=defaults["location_check_points"], type=int)
|
||||||
parser.add_argument('--hint_cost', default=defaults["hint_cost"], type=int)
|
parser.add_argument('--hint_cost', default=defaults["hint_cost"], type=int)
|
||||||
parser.add_argument('--disable_item_cheat', default=defaults["disable_item_cheat"], action='store_true')
|
parser.add_argument('--disable_item_cheat', default=defaults["disable_item_cheat"], action='store_true')
|
||||||
|
@ -2458,7 +2460,9 @@ def load_server_cert(path: str, cert_key: typing.Optional[str]) -> "ssl.SSLConte
|
||||||
|
|
||||||
|
|
||||||
async def main(args: argparse.Namespace):
|
async def main(args: argparse.Namespace):
|
||||||
Utils.init_logging("Server", loglevel=args.loglevel.lower())
|
Utils.init_logging(name="Server",
|
||||||
|
loglevel=args.loglevel.lower(),
|
||||||
|
add_timestamp=args.logtime)
|
||||||
|
|
||||||
ctx = Context(args.host, args.port, args.server_password, args.password, args.location_check_points,
|
ctx = Context(args.host, args.port, args.server_password, args.password, args.location_check_points,
|
||||||
args.hint_cost, not args.disable_item_cheat, args.release_mode, args.collect_mode,
|
args.hint_cost, not args.disable_item_cheat, args.release_mode, args.collect_mode,
|
||||||
|
|
7
Utils.py
7
Utils.py
|
@ -485,9 +485,9 @@ def get_text_after(text: str, start: str) -> str:
|
||||||
loglevel_mapping = {'error': logging.ERROR, 'info': logging.INFO, 'warning': logging.WARNING, 'debug': logging.DEBUG}
|
loglevel_mapping = {'error': logging.ERROR, 'info': logging.INFO, 'warning': logging.WARNING, 'debug': logging.DEBUG}
|
||||||
|
|
||||||
|
|
||||||
def init_logging(name: str, loglevel: typing.Union[str, int] = logging.INFO, write_mode: str = "w",
|
def init_logging(name: str, loglevel: typing.Union[str, int] = logging.INFO,
|
||||||
log_format: str = "[%(name)s at %(asctime)s]: %(message)s",
|
write_mode: str = "w", log_format: str = "[%(name)s at %(asctime)s]: %(message)s",
|
||||||
exception_logger: typing.Optional[str] = None):
|
add_timestamp: bool = False, exception_logger: typing.Optional[str] = None):
|
||||||
import datetime
|
import datetime
|
||||||
loglevel: int = loglevel_mapping.get(loglevel, loglevel)
|
loglevel: int = loglevel_mapping.get(loglevel, loglevel)
|
||||||
log_folder = user_path("logs")
|
log_folder = user_path("logs")
|
||||||
|
@ -521,6 +521,7 @@ def init_logging(name: str, loglevel: typing.Union[str, int] = logging.INFO, wri
|
||||||
formatter = logging.Formatter(fmt='[%(asctime)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
formatter = logging.Formatter(fmt='[%(asctime)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
||||||
stream_handler = logging.StreamHandler(sys.stdout)
|
stream_handler = logging.StreamHandler(sys.stdout)
|
||||||
stream_handler.addFilter(Filter("NoFile", lambda record: not getattr(record, "NoStream", False)))
|
stream_handler.addFilter(Filter("NoFile", lambda record: not getattr(record, "NoStream", False)))
|
||||||
|
if add_timestamp:
|
||||||
stream_handler.setFormatter(formatter)
|
stream_handler.setFormatter(formatter)
|
||||||
root_logger.addHandler(stream_handler)
|
root_logger.addHandler(stream_handler)
|
||||||
|
|
||||||
|
|
|
@ -599,6 +599,7 @@ class ServerOptions(Group):
|
||||||
savefile: Optional[str] = None
|
savefile: Optional[str] = None
|
||||||
disable_save: bool = False
|
disable_save: bool = False
|
||||||
loglevel: str = "info"
|
loglevel: str = "info"
|
||||||
|
logtime: bool = False
|
||||||
server_password: Optional[ServerPassword] = None
|
server_password: Optional[ServerPassword] = None
|
||||||
disable_item_cheat: Union[DisableItemCheat, bool] = False
|
disable_item_cheat: Union[DisableItemCheat, bool] = False
|
||||||
location_check_points: LocationCheckPoints = LocationCheckPoints(1)
|
location_check_points: LocationCheckPoints = LocationCheckPoints(1)
|
||||||
|
|
Loading…
Reference in New Issue