🔊 Add a --logfile
option
Log to a file, not console. --verbose & --debug behavior is kept relate to forga/process/fr/embarquement#6
This commit is contained in:
parent
3d254ada50
commit
473b21b430
|
@ -17,6 +17,9 @@ import sys
|
||||||
|
|
||||||
# MESSAGES
|
# MESSAGES
|
||||||
FUNCTION_CALL = "Function `%s` is called"
|
FUNCTION_CALL = "Function `%s` is called"
|
||||||
|
LOG_CONSOLE_FORMAT = "[%(name)s] %(levelname)s\t%(message)s"
|
||||||
|
LOG_FILE_PATH = f"/tmp/{__file__}.log"
|
||||||
|
LOG_FILE_FORMAT = "[%(asctime)s] " + LOG_CONSOLE_FORMAT
|
||||||
RESULT = "Result : `%s`"
|
RESULT = "Result : `%s`"
|
||||||
SUBSTRACTION_MADE = "Substraction made : %s - %s"
|
SUBSTRACTION_MADE = "Substraction made : %s - %s"
|
||||||
WRONG_INPUT_ORDER = "Revert input order (`%s < %s`)"
|
WRONG_INPUT_ORDER = "Revert input order (`%s < %s`)"
|
||||||
|
@ -34,9 +37,7 @@ def argparse_setup():
|
||||||
)
|
)
|
||||||
parser.add_argument("INPUT_A", help="The greater integer", type=int)
|
parser.add_argument("INPUT_A", help="The greater integer", type=int)
|
||||||
parser.add_argument("INPUT_B", help="The lower integer", type=int)
|
parser.add_argument("INPUT_B", help="The lower integer", type=int)
|
||||||
parser.add_argument(
|
parser.add_argument("-v", "--verbose", help="A verbose answer", action="store_true")
|
||||||
"-v", "--verbose", help="A near mathematics answer", action="store_true"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"-d",
|
"-d",
|
||||||
"--debug",
|
"--debug",
|
||||||
|
@ -44,25 +45,41 @@ def argparse_setup():
|
||||||
help="Set logging level to DEBUG",
|
help="Set logging level to DEBUG",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-l",
|
||||||
|
"--logfile",
|
||||||
|
default=False,
|
||||||
|
help="Log into a file, not in console",
|
||||||
|
action="store_true",
|
||||||
|
)
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def logging_setup(args):
|
def logging_setup(args):
|
||||||
"""Setting up `logging` : console handler & optional DEBUG level"""
|
"""
|
||||||
|
Setting up `logging` :
|
||||||
|
- console or file handler
|
||||||
|
- optional DEBUG level
|
||||||
|
"""
|
||||||
|
|
||||||
|
root_logger = logging.getLogger("")
|
||||||
loglevel = logging.WARNING
|
loglevel = logging.WARNING
|
||||||
|
|
||||||
if args.debug:
|
if args.debug:
|
||||||
loglevel = logging.DEBUG
|
loglevel = logging.DEBUG
|
||||||
|
|
||||||
LOGGER.setLevel(loglevel)
|
LOGGER.setLevel(loglevel)
|
||||||
|
|
||||||
console_hdlr = logging.StreamHandler()
|
# Add File Handler
|
||||||
console_hdlr.setFormatter(
|
if args.logfile:
|
||||||
logging.Formatter("[%(name)s] %(levelname)s\t%(message)s")
|
file_hdlr = logging.FileHandler(LOG_FILE_PATH)
|
||||||
)
|
file_hdlr.setFormatter(logging.Formatter(LOG_FILE_FORMAT))
|
||||||
|
root_logger.addHandler(file_hdlr)
|
||||||
root = logging.getLogger("")
|
# Add Console Handler
|
||||||
root.addHandler(console_hdlr)
|
else:
|
||||||
|
console_hdlr = logging.StreamHandler()
|
||||||
|
console_hdlr.setFormatter(logging.Formatter(LOG_CONSOLE_FORMAT))
|
||||||
|
root_logger.addHandler(console_hdlr)
|
||||||
|
|
||||||
|
|
||||||
def pgcd(input_a, input_b):
|
def pgcd(input_a, input_b):
|
||||||
|
@ -95,6 +112,10 @@ def pgcd(input_a, input_b):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
"""
|
||||||
|
Module's execution management
|
||||||
|
I did not test module's import
|
||||||
|
"""
|
||||||
|
|
||||||
# TESTS
|
# TESTS
|
||||||
import doctest
|
import doctest
|
||||||
|
|
Loading…
Reference in New Issue
Block a user