diff options
| author | Cerapter <cerap@protonmail.com> | 2018-07-31 00:44:41 +0200 |
|---|---|---|
| committer | Cerapter <cerap@protonmail.com> | 2018-07-31 00:44:41 +0200 |
| commit | 374e939ac467cf98bd785442f28a4ec802f27dc6 (patch) | |
| tree | abc947115897265baa12ce81e04bdfd1e4bf9337 /server/logger.py | |
| parent | f77381864e64e0c21b8db838daa62bbab2b58dc4 (diff) | |
Added the tsuserver3 files necessary to support this custom client.
Diffstat (limited to 'server/logger.py')
| -rw-r--r-- | server/logger.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/server/logger.py b/server/logger.py new file mode 100644 index 00000000..675a359a --- /dev/null +++ b/server/logger.py @@ -0,0 +1,64 @@ +# tsuserver3, an Attorney Online server +# +# Copyright (C) 2016 argoneus <argoneuscze@gmail.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +import logging + +import time + + +def setup_logger(debug): + logging.Formatter.converter = time.gmtime + debug_formatter = logging.Formatter('[%(asctime)s UTC]%(message)s') + srv_formatter = logging.Formatter('[%(asctime)s UTC]%(message)s') + + debug_log = logging.getLogger('debug') + debug_log.setLevel(logging.DEBUG) + + debug_handler = logging.FileHandler('logs/debug.log', encoding='utf-8') + debug_handler.setLevel(logging.DEBUG) + debug_handler.setFormatter(debug_formatter) + debug_log.addHandler(debug_handler) + + if not debug: + debug_log.disabled = True + + server_log = logging.getLogger('server') + server_log.setLevel(logging.INFO) + + server_handler = logging.FileHandler('logs/server.log', encoding='utf-8') + server_handler.setLevel(logging.INFO) + server_handler.setFormatter(srv_formatter) + server_log.addHandler(server_handler) + + +def log_debug(msg, client=None): + msg = parse_client_info(client) + msg + logging.getLogger('debug').debug(msg) + + +def log_server(msg, client=None): + msg = parse_client_info(client) + msg + logging.getLogger('server').info(msg) + + +def parse_client_info(client): + if client is None: + return '' + info = client.get_ip() + if client.is_mod: + return '[{:<15}][{}][MOD]'.format(info, client.id) + return '[{:<15}][{}]'.format(info, client.id) |
