Skip to content
Snippets Groups Projects
Commit d7b2daa5 authored by lukas leufen's avatar lukas leufen
Browse files

new Logger class for stream and file logging

parent 0f645b8d
No related branches found
No related tags found
3 merge requests!90WIP: new release update,!89Resolve "release branch / CI on gpu",!74Resolve "Write logfile"
......@@ -3,8 +3,8 @@ __date__ = '2019-11-14'
import argparse
import logging
from src.helpers import Logger
from src.run_modules.experiment_setup import ExperimentSetup
from src.run_modules.model_setup import ModelSetup
from src.run_modules.post_processing import PostProcessing
......@@ -12,6 +12,8 @@ from src.run_modules.pre_processing import PreProcessing
from src.run_modules.run_environment import RunEnvironment
from src.run_modules.training import Training
Logger()
def main(parser_args):
......@@ -29,10 +31,6 @@ def main(parser_args):
if __name__ == "__main__":
formatter = '%(asctime)s - %(levelname)s: %(message)s [%(filename)s:%(funcName)s:%(lineno)s]'
logging.basicConfig(format=formatter, level=logging.INFO)
# logging.basicConfig(format=formatter, level=logging.DEBUG)
parser = argparse.ArgumentParser()
parser.add_argument('--experiment_date', metavar='--exp_date', type=str, default=None,
help="set experiment date as string")
......
......@@ -4,12 +4,13 @@ __author__ = 'Lukas Leufen, Felix Kleinert'
__date__ = '2019-10-21'
import datetime as dt
import logging
import math
import os
import time
import socket
import datetime as dt
import sys
import time
import keras.backend as K
import xarray as xr
......@@ -218,3 +219,31 @@ def list_pop(list_full: list, pop_items):
def dict_pop(dict_orig: Dict, pop_keys):
pop_keys = to_list(pop_keys)
return {k: v for k, v in dict_orig.items() if k not in pop_keys}
class Logger:
def __init__(self, log_path=None):
if not log_path:
log_path = os.path.dirname(sys.modules["__main__"].__file__)
log_path = os.path.join(log_path, "logging")
if not os.path.exists(log_path):
os.makedirs(log_path)
runtime = time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime())
log_file = os.path.join(log_path, f'logging_{runtime}.log')
formatter = '%(asctime)s - %(levelname)s: %(message)s [%(filename)s:%(funcName)s:%(lineno)s]'
logging.basicConfig(level=logging.DEBUG,
format=formatter,
filename=log_file,
filemode='a')
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# set a format which is simpler for console use
formatter = logging.Formatter(formatter)
# tell the handler to use this format
console.setFormatter(formatter)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment