Skip to content

Instantly share code, notes, and snippets.

@zxteloiv
Created December 8, 2014 18:27
Show Gist options
  • Save zxteloiv/47b151b7758c36bbec59 to your computer and use it in GitHub Desktop.
Save zxteloiv/47b151b7758c36bbec59 to your computer and use it in GitHub Desktop.
logging tutorial
# coding: utf-8
import sys, logging, logging.handlers, time, multiprocessing
def setLogger(name):
logger = logging.getLogger(name)
logger.setLevel(logging.INFO)
handler = logging.handlers.WatchedFileHandler('info.log')
formatter = logging.Formatter('%(asctime)s\t%(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
def info(logger, message):
logger.info(message)
print(message)
def work(pid, name):
logger = logging.getLogger(name)
for i in xrange(50):
info(logger, "I'm " + str(pid) + " in " + str(i) + " call")
time.sleep(0.93)
def main():
name = 'process'
logger = setLogger(name)
info(logger, 'main start')
pool_size = 10
process_list = [multiprocessing.Process(target=work, args=(pid,name)) for pid in xrange(pool_size)]
for p in process_list: p.start()
info(logger, 'main waiting')
for p in process_list: p.join()
info(logger, 'main end')
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment