python logging writes an empty file

Ovidiu Deac ovidiudeac at gmail.com
Thu Mar 25 20:11:39 EDT 2010


Hi,

I have the following situation:

My application uses nosetests to discover&run the unittests. I pass
the log configuration file as --logging-config=logging.conf
Everything works just fine, the logs are printed as required by the
configuration file which makes me happy. I take this as a sign that my
logging.conf is correct

Then in my main script, which starts the production application, I
have this line:
logging.config.fileConfig("logging.conf")

The logging module is configured without errors BUT my output.log is
EMPTY. It's like all the messages are filtered.

If I configure logging like this:
    logging.basicConfig(level=logging.INFO,
              format='%(asctime)s %(name)-12s %(levelname)s: %(message)s',
              datefmt='%m-%d %H:%M:%S',
              filename=file,
              filemode='w')
Then the logs are printed ok.

Then I tried this:
    file = logging.FileHandler(logFileBasename, 'w')
    file.setLevel(logging.INFO)
    # set a format which is simpler for console use
    formatter = logging.Formatter('%(asctime)s %(name)-12s
%(levelname)-8s %(message)s',)
    # tell the handler to use this format
    file.setFormatter(formatter)
    # add the handler to the root logger
    logging.getLogger('').addHandler(file)
    logging.getLogger('')

...which also leaves my output file EMPTY.

I'm out of ideas. Can anybody help me with this?

Thanks in advance!
ovidiu

Here is my logging.conf:

[formatters]
keys: detailed,simple

[handlers]
keys: console,file

[loggers]
keys: root

[formatter_simple]
format: %(name)s:%(levelname)s:  %(message)s

[formatter_detailed]
format: %(name)s:%(levelname)s %(module)s:%(lineno)d:  %(message)s

[handler_console]
class: StreamHandler
args: []
formatter: detailed

[handler_file]
class=FileHandler
level=DEBUG
formatter=detailed
args=('output.log', 'w')
filename=output.log
mode=w

[logger_root]
level: INFO
handlers: file
propagate: 1



More information about the Python-list mailing list