示意代码如下:
#_*_coding:UTF-8_*_
import time
import socket
import os
import sys
if sys.version_info.major == 2:
reload(sys)
sys.setdefaultencoding(‘utf8‘)
class LogLevel(object):
debug = ‘DEBUG‘
info = ‘INFO‘
warning = ‘WARN‘
error = ‘ERROR‘
fatal = ‘FATAL‘
class Log4P(object):
def __init__(self, *args_arr, **args_dict):
self.module_name = "unknown"
self.task_id = "unknown"
if "module_name" in args_dict:
self.module_name = args_dict["module_name"]
if "task_id" in args_dict:
self.task_id = str(args_dict["task_id"])
self.host_name = socket.gethostname()
def debug(self, *message):
return self.log(*message, level=LogLevel.debug)
def info(self, *message):
return self.log(*message, level=LogLevel.info)
def warn(self, *message):
return self.log(*message, level=LogLevel.warning)
def error(self, *message):
return self.log(*message, level=LogLevel.error)
def fatal(self, *message):
return self.log(*message, level=LogLevel.fatal)
def static(self, case):
if case == 1:
info = "run success"
elif case == 2:
info = "run failed"
elif case == 3:
info = "no master"
elif case == 4:
info = "error master"
elif case == 5:
info = "run fail before switch master"
else:
info = "unknown error"
return self.info(info)
if sys.version_info.major == 2:
def log(self, message, level=LogLevel.info):
curr_time = time.localtime(time.time())
log_context = format(‘[%d-%02d-%02d %02d:%02d:%02d][%s][%s][%s-%s]‘ % (curr_time.tm_year, curr_time.tm_mon, curr_time.tm_mday,
curr_time.tm_hour, curr_time.tm_min, curr_time.tm_sec,
str(level), self.host_name, self.module_name, self.task_id))
print(log_context, message, os.linesep)
else:
def log(self, *message, level=LogLevel.info):
curr_time = time.localtime(time.time())
log_context = format(‘[%d-%02d-%02d %02d:%02d:%02d][%s][%s][%s-%s]‘ % (curr_time.tm_year, curr_time.tm_mon, curr_time.tm_mday,
curr_time.tm_hour, curr_time.tm_min, curr_time.tm_sec,
str(level), self.host_name, self.module_name, self.task_id))
print(log_context, *message, os.linesep)
if __name__ == "__main__":
logger = Log4P(module_name="dga", task_id="dga_id")
logger.log("hello world")
logger.log("hello world", "this is a test")
a = 100
logger.log("hello world", "var:", a)
原文:https://www.cnblogs.com/bonelee/p/11627524.html