mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Mission planning polishing.
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
import logging
|
||||
import traceback
|
||||
import sys
|
||||
|
||||
from io import StringIO
|
||||
from tkinter import *
|
||||
from tkinter.scrolledtext import *
|
||||
|
||||
_version_string = None
|
||||
|
||||
|
||||
class ShowLogsException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def _error_prompt(oops=True):
|
||||
tk = Tk()
|
||||
if oops:
|
||||
Label(tk, text="Oops, something went wrong.").grid(row=0)
|
||||
Label(tk, text="Please send following text to the developer:").grid(row=1)
|
||||
|
||||
text = ScrolledText(tk)
|
||||
text.insert("0.0", log_stream.getvalue())
|
||||
text.grid(row=2, sticky=NSEW)
|
||||
tk.focus()
|
||||
|
||||
|
||||
def _handle_exception(self, exception: BaseException, *args):
|
||||
logging.exception(exception)
|
||||
_error_prompt(isinstance(exception, ShowLogsException))
|
||||
|
||||
|
||||
def setup_version_string(str):
|
||||
global _version_string
|
||||
_version_string = str
|
||||
|
||||
|
||||
def version_string():
|
||||
return _version_string
|
||||
|
||||
|
||||
if "--stdout" in sys.argv:
|
||||
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
|
||||
else:
|
||||
log_stream = StringIO()
|
||||
logging.basicConfig(stream=log_stream, level=logging.INFO)
|
||||
Tk.report_callback_exception = _handle_exception
|
||||
|
||||
logging.info("DCS Liberation {}".format(_version_string))
|
||||
25
userdata/logging_config.py
Normal file
25
userdata/logging_config.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import logging
|
||||
import os
|
||||
from logging.handlers import RotatingFileHandler
|
||||
|
||||
|
||||
def init_logging(version_string):
|
||||
if not os.path.isdir("./logs"):
|
||||
os.mkdir("logs")
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
formatter = logging.Formatter('%(asctime)s :: %(levelname)s :: %(message)s')
|
||||
|
||||
handler = RotatingFileHandler('./logs/liberation.log', 'a', 5000000, 1)
|
||||
handler.setLevel(logging.INFO)
|
||||
handler.setFormatter(formatter)
|
||||
|
||||
stream_handler = logging.StreamHandler()
|
||||
stream_handler.setLevel(logging.DEBUG)
|
||||
stream_handler.setFormatter(formatter)
|
||||
|
||||
logger.addHandler(stream_handler)
|
||||
logger.addHandler(handler)
|
||||
|
||||
logger.info("DCS Liberation {}".format(version_string))
|
||||
Reference in New Issue
Block a user