I am starting to use the logging module.

Simple log to file and/or console work very nicely.

Even managed to get TimedRotatingFileHandler to work.

The problem I am trying to solve.

1. I would like to have a "log viewer" a wxPython based app to be able to look at a log generated by another script.

Did a little test for this.
- log_testing.py attached is generating the log entries
- log_viewerConsole.py is trying to attach to the same logger (would convert/change this to a wxPython app)

The log_viewerConsole script only sees the logs it generates. Does this script have to be started by the first one to get the same logger?

Any hints on how to solve my problem would be very appreciated.

Werner


[formatters]
keys=simple
 
[handlers]
keys=consoleHandler,fileRollOver,ntEventLog
 
[loggers]
keys=root,frollover
 
[formatter_simple]
format=%(name)s:%(levelname)s %(module)s: %(lineno)d: %(asctime)s: %(message)s
 
[handler_consoleHandler]
class=StreamHandler
args=[]
formatter=simple

[handler_fileRollOver]
class=handlers.TimedRotatingFileHandler
args=['./logs/pyg_log.txt', 'M', 30, 5]
formatter=simple

[handler_ntEventLog]
class=handlers.SysLogHandler
args=[("localhost",handlers.SYSLOG_UDP_PORT),handlers.SysLogHandler.LOG_USER]
formatter=simple

[logger_root]
level=DEBUG
handlers=ntEventLog

[logger_frollover]
level=DEBUG
handlers=fileRollOver
qualname=loggerFRO

import logging, logging.config, logging.handlers

import time
# setup logging
logging.config.fileConfig('pyg_log.cfg')

# create logger
logger = logging.getLogger("loggerFRO")

while 1:
    #"application" code
    logger.debug("debug message")
    logger.info("info message")
    logger.warn("warn message")
    logger.error("error message")
    logger.critical("critical message")
    
    try:
        x = 1 / 0
    except:
        logger.exception('exception')
    
    logger.info("sleeping")
    time.sleep(5)
    logger.info("done sleeping")
import logging, logging.config
import time

logging.config.fileConfig('pyg_log.cfg')

# create logger
logger = logging.getLogger("loggerFRO")

# handler
streamHandler = logging.StreamHandler()

# formater
formatter = logging.Formatter("%(name)s - %(levelname)s - %(message)s")
streamHandler.setFormatter(formatter)

logger.addHandler(streamHandler)

logger.info('just a test message')

while 1:
    time.sleep(1)
    logger.info('slept 1')
    
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to