Commit e675c756dd91168ccd7ccb83452568e57e2f254f
1 parent
712961ef
Exists in
devel
[TranslationServer] Adiciona server para escrita de log em arquivo
Showing
1 changed file
with
16 additions
and
2 deletions
Show diff stats
src/TranslationServer.py
| @@ -6,7 +6,8 @@ from functools import wraps | @@ -6,7 +6,8 @@ from functools import wraps | ||
| 6 | from PortGlosa import traduzir | 6 | from PortGlosa import traduzir |
| 7 | from subprocess import check_output | 7 | from subprocess import check_output |
| 8 | from threading import Lock | 8 | from threading import Lock |
| 9 | -import os, argparse, thread | 9 | +from logging.handlers import RotatingFileHandler |
| 10 | +import os, argparse, thread, logging, sys | ||
| 10 | 11 | ||
| 11 | RUN_MODE=None | 12 | RUN_MODE=None |
| 12 | BUNDLES_PATH=None | 13 | BUNDLES_PATH=None |
| @@ -42,9 +43,21 @@ def full_mode(): | @@ -42,9 +43,21 @@ def full_mode(): | ||
| 42 | conn = MySQLdb.connect(user="root", db="signsdb") | 43 | conn = MySQLdb.connect(user="root", db="signsdb") |
| 43 | check_database() | 44 | check_database() |
| 44 | 45 | ||
| 46 | +def logger(): | ||
| 47 | + global app | ||
| 48 | + logfile = os.path.join(os.environ['HOME'], "translate.log") | ||
| 49 | + print ' * Running...\n # See the log in: ' + logfile | ||
| 50 | + handler = RotatingFileHandler(logfile, maxBytes=10000, backupCount=10) | ||
| 51 | + handler.setLevel(logging.DEBUG) | ||
| 52 | + app.logger.addHandler(handler) | ||
| 53 | + log = logging.getLogger('werkzeug') | ||
| 54 | + log.setLevel(logging.DEBUG) | ||
| 55 | + log.addHandler(handler) | ||
| 56 | + | ||
| 45 | def init_mode(args): | 57 | def init_mode(args): |
| 46 | global RUN_MODE | 58 | global RUN_MODE |
| 47 | - RUN_MODE = args.mode.lower() | 59 | + if args.logfile: logger() |
| 60 | + RUN_MODE = args.mode.upper() | ||
| 48 | if RUN_MODE == "dict": | 61 | if RUN_MODE == "dict": |
| 49 | dict_mode() | 62 | dict_mode() |
| 50 | print "# Server started in dictionary mode. Requests will be accepted for translation of texts and download bundles.\n# Endpoints '/translate' and '/<PLATFORM>/<SIGN>' are available." | 63 | print "# Server started in dictionary mode. Requests will be accepted for translation of texts and download bundles.\n# Endpoints '/translate' and '/<PLATFORM>/<SIGN>' are available." |
| @@ -183,6 +196,7 @@ if __name__ == "__main__": | @@ -183,6 +196,7 @@ if __name__ == "__main__": | ||
| 183 | parser = argparse.ArgumentParser(description='Translation server and signs download for VLibras.') | 196 | parser = argparse.ArgumentParser(description='Translation server and signs download for VLibras.') |
| 184 | parser.add_argument('--port', help='Port where the server will be available.', default=3000) | 197 | parser.add_argument('--port', help='Port where the server will be available.', default=3000) |
| 185 | parser.add_argument("--mode", help="So that the server will work.", choices=['translate','dict','full'], default="translate") | 198 | parser.add_argument("--mode", help="So that the server will work.", choices=['translate','dict','full'], default="translate") |
| 199 | + parser.add_argument("--logfile", action="store_true", help="So that the server will work.") | ||
| 186 | args = parser.parse_args() | 200 | args = parser.parse_args() |
| 187 | init_mode(args) | 201 | init_mode(args) |
| 188 | app.run(host="0.0.0.0", port=int(args.port), threaded=True, debug=False) | 202 | app.run(host="0.0.0.0", port=int(args.port), threaded=True, debug=False) |
| 189 | \ No newline at end of file | 203 | \ No newline at end of file |