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 |