Skip to content

Instantly share code, notes, and snippets.

@threecourse
Last active June 18, 2017 06:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save threecourse/219cd37f557ca3863846f36e57e93f63 to your computer and use it in GitHub Desktop.
Save threecourse/219cd37f557ca3863846f36e57e93f63 to your computer and use it in GitHub Desktop.
from util_log import Logger
logger = Logger()
from collections import OrderedDict
logger.info("run started")
d = OrderedDict([('run_name', "xgb_1"), ('fold', 0), ('logloss', 0.66)])
logger.result_ltsv_time(d)
import logging
import datetime
class Logger:
def __init__(self):
self.g_logger = logging.getLogger("general")
self.r_logger = logging.getLogger("result")
stream_handler = logging.StreamHandler()
file_general_handler = logging.FileHandler("../model/general.log")
file_result_handler = logging.FileHandler("../model/result.log")
# formatter = logging.Formatter('my-format')
if len(self.g_logger.handlers) == 0:
self.g_logger.addHandler(stream_handler)
self.g_logger.addHandler(file_general_handler)
self.g_logger.setLevel(logging.INFO)
self.r_logger.addHandler(stream_handler)
self.r_logger.addHandler(file_result_handler)
self.r_logger.setLevel(logging.INFO)
def now_ymdHMS(self):
return str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
def to_ltsv(cls, ordered_dict):
return "\t".join(["{}:{}".format(key, value) for key, value in ordered_dict.items()])
def result(self, message):
self.r_logger.info(message)
def result_ltsv(self, ordered_dict):
self.result(self.to_ltsv(ordered_dict))
def result_ltsv_time(self, ordered_dict):
self.result("time:{}\t".format(self.now_ymdHMS()) + self.to_ltsv(ordered_dict))
def info(self, message):
self.g_logger.info("[{}] - {}".format(self.now_ymdHMS(), message))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment