Skip to content

Instantly share code, notes, and snippets.

View DalyaG's full-sized avatar

Dalya Gartzman DalyaG

View GitHub Profile
@DalyaG
DalyaG / logging_utils.py
Last active April 25, 2022 16:42
logging utils
import logging
import os
LOGGER_NAME = 'my_logger'
def init_logger(log_level_for_console: str = 'info', log_level_for_file: str = 'debug',
save_dir: str = None):
logger = logging.getLogger(LOGGER_NAME)
logger.setLevel(level=logging.DEBUG)
logger.propagate = False
@DalyaG
DalyaG / init_logger.py
Last active April 20, 2020 06:54
init logger
from logging_utils import init_logger
init_logger(save_dir='/path/to/somewhere')
from logging_utils import get_logger
logger = get_logger()
logger.info("Let's start!")
>>> 2020-04-12 14:49:47 [INFO] my_module.py 17 - Let's start!
from logging_utils import get_logger
logger = get_logger()
logger.info("TEST")
>>>
logger.warning("TEST")
>>> TEST
from logging_utils import get_logger, init_logger
logger = get_logger()
logger.info("TEST")
>>>
logger.warning("TEST")
>>> TEST
init_logger()
@DalyaG
DalyaG / generate_log_folder.py
Created April 20, 2020 07:24
generate log folder
import os
from datetime import datetime
start_time_str = datetime.today().strftime('%d_%m_%Y__%H_%M_%S')
log_dir = f"log_{start_time_str}"
os.mkdir(log_dir)
# This will generate a folder named something like log_14_04_2020__19_46_06
@DalyaG
DalyaG / log_input_params.py
Created April 20, 2020 07:25
log input params
import os
import json
# Here we assume: params = MyParamsClass()
sorted_params_dict = {k: params.__dict__[k] for k
in sorted(params.__dict__.keys())}
params_filepath = os.path.join(log_dir, 'params.json')
json.dump(sorted_params_dict, open(params_filepath, 'w'), indent=4)
@DalyaG
DalyaG / runtime_logger.py
Last active April 22, 2020 07:04
runtime logger
import os
from time import time
class RuntimeLogger:
def __init__(self, log_dir: str):
self.runtime_filepath = os.path.join(log_dir, "runtime.json")
self.runtime_dict = {}
self.global_start_time = None
def start(self):
@DalyaG
DalyaG / my_fancy_algorithm.py
Last active April 22, 2020 07:05
using runtime logger class
from time import time
import RuntimeLogger
class MyFancyAlgorithm:
def __init__(self, log_dir: str):
self.runtime_logger = RuntimeLogger(log_dir)
def run(self):
self.runtime_logger.start()
@DalyaG
DalyaG / get_git_data_from_terminal
Created April 20, 2020 07:44
get git data from terminal
path/to/project$ git rev-parse --abbrev-ref HEAD
my_branch
path/to/project$ git describe --always
ed7a91b
path/to/project$ git diff
<...>