[ create a new paste ] login | about

Project: python
Link: http://python.codepad.org/tU81ZDra    [ raw code | fork ]

fedecarg - Python, pasted on Jun 14:
#!/usr/bin/env python
"""
Provides immediate logging to a text file (using module logging)

Usage:

from simplelog import *
log = getSimpleLogger("myPath/myFile.txt")
log.info("an example message")

Remark:

getSimpleLogger can be called multiple times with the same
filename. It identifies the logger with the file's basename,
so you can't have 2 different loggers named myFile.txt (even
in different folders.)
"""

import logging 
from os import path 

__all__ =["getSimpleLogger"]
_loggers ={}

def getSimpleLogger (pathToFile ):
  "returns a logger to the given file"
  name = os.path.basename(pathToFile)
  theLogger = logging.getLogger(name)
  if name in _loggers:
    return theLogger 
  _loggers [name] = True 
  theLogger.setLevel(logging.DEBUG)
  theHandler = logging.FileHandler(pathToFile ,'w')
  theFormatter = logging.Formatter (
  "%(asctime)s %(levelname)-8s %(message)s",
  "%H:%M:%S",
#"%a, %d %b %Y %H:%M:%S",
  )
  theHandler.setFormatter(theFormatter)
  theLogger.addHandler(theHandler)
  return theLogger 

if __name__ =="__main__":
  logger = getSimpleLogger ("foo.txt")
  for i in range (20 :
    logger .info ("current index is %d"%i)


Create a new paste based on this one


Comments: