Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > NTEventLogHandler not logging `info'?

Reply
Thread Tools

NTEventLogHandler not logging `info'?

 
 
Jaime Wyant
Guest
Posts: n/a
 
      09-22-2005
This code doesn't seem to do what I think it should do:

# python 2.3.2
# not sure of my win32 extensions version

import logging
from logging.handlers import NTEventLogHandler
logger = logging.getLogger("testlogger")
handler = NTEventLogHandler("testlogger")
logger.addHandler(handler)
logger.info("This is a test")


I expected to see an `information' message in my `Application' event
log. Any ideas?

Thanks,
jw
 
Reply With Quote
 
 
 
 
Vinay Sajip
Guest
Posts: n/a
 
      09-22-2005
Jaime Wyant wrote:
> This code doesn't seem to do what I think it should do:
>
> # python 2.3.2
> # not sure of my win32 extensions version
>
> import logging
> from logging.handlers import NTEventLogHandler
> logger = logging.getLogger("testlogger")
> handler = NTEventLogHandler("testlogger")
> logger.addHandler(handler)
> logger.info("This is a test")
>
>
> I expected to see an `information' message in my `Application' event
> log. Any ideas?
>


By default, the logger's level is WARNING, because you haven't
explicitly set a level and the level inherited from the parent logger
is WARNING (this is the default value for the root logger level). So if
you add a line before the logger.info() call:

logger.setLevel(logging.INFO) # or you can use logging.DEBUG

Then you should see an entry appear in the NT Event log.

 
Reply With Quote
 
 
 
 
Jaime Wyant
Guest
Posts: n/a
 
      09-22-2005
I must be missing something. This is what I read from the documentation:

When a logger is created, the level is set to NOTSET (which causes all
messages to be processed in the root logger, or delegation to the
parent in non-root loggers).

:/

Thanks!
jw

On 22 Sep 2005 08:21:48 -0700, Vinay Sajip <(E-Mail Removed)> wrote:
> Jaime Wyant wrote:
> > This code doesn't seem to do what I think it should do:
> >
> > # python 2.3.2
> > # not sure of my win32 extensions version
> >
> > import logging
> > from logging.handlers import NTEventLogHandler
> > logger = logging.getLogger("testlogger")
> > handler = NTEventLogHandler("testlogger")
> > logger.addHandler(handler)
> > logger.info("This is a test")
> >
> >
> > I expected to see an `information' message in my `Application' event
> > log. Any ideas?
> >

>
> By default, the logger's level is WARNING, because you haven't
> explicitly set a level and the level inherited from the parent logger
> is WARNING (this is the default value for the root logger level). So if
> you add a line before the logger.info() call:
>
> logger.setLevel(logging.INFO) # or you can use logging.DEBUG
>
> Then you should see an entry appear in the NT Event log.
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>

 
Reply With Quote
 
Jaime Wyant
Guest
Posts: n/a
 
      09-22-2005
BTW - you're suggestion worked.

Thanks again!
jw

On 9/22/05, Jaime Wyant <(E-Mail Removed)> wrote:
> I must be missing something. This is what I read from the documentation:
>
> When a logger is created, the level is set to NOTSET (which causes all
> messages to be processed in the root logger, or delegation to the
> parent in non-root loggers).
>
> :/
>
> Thanks!
> jw
>
> On 22 Sep 2005 08:21:48 -0700, Vinay Sajip <(E-Mail Removed)> wrote:
> > Jaime Wyant wrote:
> > > This code doesn't seem to do what I think it should do:
> > >
> > > # python 2.3.2
> > > # not sure of my win32 extensions version
> > >
> > > import logging
> > > from logging.handlers import NTEventLogHandler
> > > logger = logging.getLogger("testlogger")
> > > handler = NTEventLogHandler("testlogger")
> > > logger.addHandler(handler)
> > > logger.info("This is a test")
> > >
> > >
> > > I expected to see an `information' message in my `Application' event
> > > log. Any ideas?
> > >

> >
> > By default, the logger's level is WARNING, because you haven't
> > explicitly set a level and the level inherited from the parent logger
> > is WARNING (this is the default value for the root logger level). So if
> > you add a line before the logger.info() call:
> >
> > logger.setLevel(logging.INFO) # or you can use logging.DEBUG
> >
> > Then you should see an entry appear in the NT Event log.
> >
> > --
> > http://mail.python.org/mailman/listinfo/python-list
> >

>

 
Reply With Quote
 
Vinay Sajip
Guest
Posts: n/a
 
      09-22-2005
Jaime Wyant wrote:
> I must be missing something. This is what I read from the documentation:
>
> When a logger is created, the level is set to NOTSET (which causes all
> messages to be processed in the root logger, or delegation to the
> parent in non-root loggers).
>


The documentation could be clearer, I agree. I will add the following
clarifying sentence to the docs:

The term "delegation to the parent" means that if a logger has a level
of NOTSET, its ancestor loggers are examined until the root is reached,
or an ancestor with a level other than NOTSET is found. In the latter
case, that level is treated as the effective level of the logger where
the ancestor search started, and is used to determine how a logging
event is handled. If the root is reached, and it has a level of NOTSET,
then all messages will be processed. Otherwise, the root's level will
be used as the effective level.

Please post a response on the list if you think the above is still not
clear enough.

 
Reply With Quote
 
Jaime Wyant
Guest
Posts: n/a
 
      09-22-2005
On 22 Sep 2005 12:23:50 -0700, Vinay Sajip <(E-Mail Removed)> wrote:
> Jaime Wyant wrote:
> > I must be missing something. This is what I read from the documentation:
> >
> > When a logger is created, the level is set to NOTSET (which causes all
> > messages to be processed in the root logger, or delegation to the
> > parent in non-root loggers).
> >

>


Thanks for your attentiveness!

> The documentation could be clearer, I agree. I will add the following
> clarifying sentence to the docs:
>
> The term "delegation to the parent" means that if a logger has a level
> of NOTSET, its ancestor loggers are examined until the root is reached,
> or an ancestor with a level other than NOTSET is found. In the latter
> case, that level is treated as the effective level of the logger where
> the ancestor search started, and is used to determine how a logging
> event is handled. If the root is reached, and it has a level of NOTSET,
> then all messages will be processed. Otherwise, the root's level will
> be used as the effective level.
>
> Please post a response on the list if you think the above is still not
> clear enough.


After re-reading the documentation I posted originally, it makes much
more sense and I feel much more stupid *smacks self in head*. Your
definition of "delegation of the parent" is right on the mark, however
I found myself having to read it a few times to have it `sink in'.

I've rewritten it below in a bit easier to read fashion (I think).

The term "delegation to the parent" means that if a logger has a level
of NOTSET, its chain of ancestor loggers are traversed until an
ancestor with a level other than NOTSET is found or the root is
reached.

If an ancestor is found with a level other than NOTSET, then that
ancestor's level is treated as the effective level of the logger where
the ancestor search began, and is used to determine how a logging
event is handled.

If the root is reached, and it has a level of NOTSET, then all
messages will be processed. Otherwise, the root's level will be used
as the effective level.

HTH,
jw
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Logging to a file and closing it again properly (logging module) Christoph Haas Python 1 06-14-2006 08:47 AM
Logging to a file and closing it again properly (logging module) Christoph Haas Python 0 06-12-2006 09:58 PM
logging buffered vs. logging history Christian Roos Cisco 4 02-05-2006 10:55 PM
java.util.logging, where to put logging.properties? janne Java 0 09-10-2004 10:18 AM
[java.util.logging] logging only to _one_ file Stefan Siegl Java 0 08-27-2003 12:29 PM



Advertisments