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
Branches
Tags
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