Thread: [pygccxml-development] How to customize log messages?
Brought to you by:
mbaas,
roman_yakovenko
From: Matthias B. <ba...@ir...> - 2006-04-11 12:27:09
|
Hi, how can I customize the log messages generated by pyplusplus? Is there a switch somewhere to set the verbosity level? Currently, when writing the files I get a lot of output for each single file which prevents me from noticing the "important" messages. Can I disable those messages (and maybe only get a summary) or can I customize the actual log message (so that I could replace the newline with a linefeed?). - Matthias - |
From: Roman Y. <rom...@gm...> - 2006-04-11 12:56:24
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Hi, > > how can I customize the log messages generated by pyplusplus? Is there a > switch somewhere to set the verbosity level? Currently, when writing the > files I get a lot of output for each single file which prevents me from > noticing the "important" messages. Can I disable those messages (and > maybe only get a summary) or can I customize the actual log message (so > that I could replace the newline with a linefeed?). :-) Can you start some to do list to next release? Small text file under pyplusplus/docs will be good enough. Okay. Right now you can not. For next release we can create different loggers for different components. Also we( I mean you :-) ) will define for every message type: ( debug, info ... ) Thus you will be able to trigger messages that you want to see or even disable whole components. > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-11 15:42:20
|
Roman Yakovenko wrote: > Can you start some to do list to next release? Small text file under > pyplusplus/docs will be good enough. Done. > Okay. Right now you can not. Well, I had a look at _logging_ and noticed that it's not quite true that one cannot set the verbosity level. As the standard logging module is used I can obtain the logger and adjust the level (I don't know if setting the level to DEBUG by default is such a good idea...). The presence of the _logging_ module suggests that you already have some plans concerning log messages in pygccxml/pyplusplus. What plans do you have how logging should be done? (or if there are no plans, why didn't you use the logging module directly?) - Matthias - |
From: Roman Y. <rom...@gm...> - 2006-04-11 17:11:13
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Roman Yakovenko wrote: > > Can you start some to do list to next release? Small text file under > > pyplusplus/docs will be good enough. > > Done. Thanks. > Well, I had a look at _logging_ and noticed that it's not quite true > that one cannot set the verbosity level. As the standard logging module > is used I can obtain the logger and adjust the level (I don't know if > setting the level to DEBUG by default is such a good idea...). I did not think about this a lot. But I prefer to leave it as is. You are an experience user of pyplusplus, other developers are not. So I think they will be glad to see so many log messages at least one week. After this they will increas= e log messages level. > The presence of the _logging_ module suggests that you already have some > plans concerning log messages in pygccxml/pyplusplus. What plans do you > have how logging should be done? (or if there are no plans, why didn't > you use the logging module directly?) Tool chain. I would like to see people start integrate code generation with= in their build process. Thus dedicating some logger to pygccxml/pyplusplus wil= l allow them better control on process. As I already said, in future we will add under main/root project logger, loggers for some specific packages. Thus you will have only one point to configure all loggers for whole code generator. Does it make sense? Do you agree with this. If so, I will add to "todo.txt"= this explanation. So someone will be ale to implement this. > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-20 15:03:58
|
Sorry for the delay on this topic, but other stuff has just been more urgent during the last couple of days... Roman Yakovenko wrote: >> Well, I had a look at _logging_ and noticed that it's not quite true >> that one cannot set the verbosity level. As the standard logging module >> is used I can obtain the logger and adjust the level (I don't know if >> setting the level to DEBUG by default is such a good idea...). > > I did not think about this a lot. But I prefer to leave it as is. You > are an experience > user of pyplusplus, other developers are not. So I think they will be glad > to see so many log messages at least one week. After this they will increase > log messages level. If they will find out how to do it.... ;-) >> The presence of the _logging_ module suggests that you already have some >> plans concerning log messages in pygccxml/pyplusplus. What plans do you >> have how logging should be done? (or if there are no plans, why didn't >> you use the logging module directly?) > > Tool chain. I would like to see people start integrate code generation within > their build process. Thus dedicating some logger to pygccxml/pyplusplus will > allow them better control on process. > > As I already said, in future we will add under main/root project > logger, loggers for > some specific packages. Thus you will have only one point to configure > all loggers > for whole code generator. > > Does it make sense? Do you agree with this. If so, I will add to "todo.txt" this > explanation. So someone will be ale to implement this. I'm sorry, I'm afraid I don't understand your argument here. You only seem to argue that some logging functionality is required. And of course, I fully agree with that and I've never questioned that. The only thing I don't understand yet is the rationale behind the "_logging_" module. Where does _logging_ have advantages over the standard logging module and using some standardized logger names within pygccxml/pyplusplus? I even think using the Python logging module directly has the advantage that pygccxml/pyplusplus can use one common logging mechanism whereas so far, _logging_ is only available in pyplusplus (what does pygccxml use for writing log messages?). - Matthias - |
From: Roman Y. <rom...@gm...> - 2006-04-20 16:52:52
|
On 4/20/06, Matthias Baas <ba...@ir...> wrote: > Sorry for the delay on this topic, but other stuff has just been more > urgent during the last couple of days... This is okay. > Roman Yakovenko wrote: > >> Well, I had a look at _logging_ and noticed that it's not quite true > >> that one cannot set the verbosity level. As the standard logging modul= e > >> is used I can obtain the logger and adjust the level (I don't know if > >> setting the level to DEBUG by default is such a good idea...). > > > > I did not think about this a lot. But I prefer to leave it as is. You > > are an experience > > user of pyplusplus, other developers are not. So I think they will be g= lad > > to see so many log messages at least one week. After this they will inc= rease > > log messages level. > > If they will find out how to do it.... ;-) They do, trust me. Maximum if we will see a lot of mails on this topic we w= ill change our default. > >> The presence of the _logging_ module suggests that you already have so= me > >> plans concerning log messages in pygccxml/pyplusplus. What plans do yo= u > >> have how logging should be done? (or if there are no plans, why didn't > >> you use the logging module directly?) > > > > Tool chain. I would like to see people start integrate code generation = within > > their build process. Thus dedicating some logger to pygccxml/pyplusplus= will > > allow them better control on process. > > > > As I already said, in future we will add under main/root project > > logger, loggers for > > some specific packages. Thus you will have only one point to configure > > all loggers > > for whole code generator. > > > > Does it make sense? Do you agree with this. If so, I will add to "todo.= txt" this > > explanation. So someone will be ale to implement this. > > I'm sorry, I'm afraid I don't understand your argument here. You only > seem to argue that some logging functionality is required. And of > course, I fully agree with that and I've never questioned that. > The only thing I don't understand yet is the rationale behind the > "_logging_" module. Where does _logging_ have advantages over the > standard logging module and using some standardized logger names within > pygccxml/pyplusplus? Okay, I was not clear. _logging_ module solves 2 technical problems: 1. I want some module/package that will be independent on all other package= s, because I want to use it in every ( well almost every other ) module wi= thin pyplusplus 2. I want to keep code that configure the loggers in one place. That is why I introduced _logging_ package. This is the best name I had. I am not going to reinvent the wheel and use Python build in logging module= . > I even think using the Python logging module directly has the advantage > that pygccxml/pyplusplus can use one common logging mechanism whereas so > far, _logging_ is only available in pyplusplus If user wants pyplusplus/pygccxml to write into his logger, it is very simp= le: _logging_.logger =3D custom_logger That's all >what does pygccxml use for writing log messages?. 1. Command line used to run GCC-XML. 2. Report different stage: compile, link > - Matthias - > -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-20 20:35:19
|
Roman Yakovenko wrote: >> I'm sorry, I'm afraid I don't understand your argument here. You only >> seem to argue that some logging functionality is required. And of >> course, I fully agree with that and I've never questioned that. >> The only thing I don't understand yet is the rationale behind the >> "_logging_" module. Where does _logging_ have advantages over the >> standard logging module and using some standardized logger names within >> pygccxml/pyplusplus? > > Okay, I was not clear. _logging_ module solves 2 technical problems: > 1. I want some module/package that will be independent on all other packages, > because I want to use it in every ( well almost every other ) module within > pyplusplus This requirement is already met by the standard logging module, isn't it? The standard logging module appears to be even better suited because it is even independent on pyplusplus whereas _logging_ is part of pyplusplus and cannot be used by pygccxml. > 2. I want to keep code that configure the loggers in one place. Granted. But your requirement doesn't specify where this place should be located, so this point would also be met if you put the configuration in the main __init__.py file, for example. >> what does pygccxml use for writing log messages?. > > 1. Command line used to run GCC-XML. > 2. Report different stage: compile, link Sorry, my question was not what messages does pygccxml output but what mechanism does it use to output the messages? (because it cannot use the _logging_ module as this one is part of pyplusplus and pygccxml is supposed to be independent of pyplusplus) - Matthias - |
From: Roman Y. <rom...@gm...> - 2006-04-21 12:45:14
|
On 4/20/06, Matthias Baas <ba...@ir...> wrote: > Roman Yakovenko wrote: > > Okay, I was not clear. _logging_ module solves 2 technical problems: > > 1. I want some module/package that will be independent on all other pac= kages, > > because I want to use it in every ( well almost every other ) modul= e within > > pyplusplus > > This requirement is already met by the standard logging module, isn't it? > The standard logging module appears to be even better suited because it > is even independent on pyplusplus whereas _logging_ is part of > pyplusplus and cannot be used by pygccxml. pygccxml should have it's own logger. pyplusplus package can re-configure i= t to use it's logger. > > 2. I want to keep code that configure the loggers in one place. > > Granted. But your requirement doesn't specify where this place should be > located, so this point would also be met if you put the configuration in > the main __init__.py file, for example. Okay, but how I will write to it? import logging logging.debug( '...' ) In this case, if I understand right the logging package and documentation, it will write message to all loggers. This is definitely not what I want. or may be import logging logging.getLogger( 'pyplusplus' ).debug('...') In this case I should write more code and I have a chance to misspell logger name. > >> what does pygccxml use for writing log messages?. > > > > 1. Command line used to run GCC-XML. > > 2. Report different stage: compile, link > > Sorry, my question was not what messages does pygccxml output but what > mechanism does it use to output the messages? (because it cannot use the > _logging_ module as this one is part of pyplusplus and pygccxml is > supposed to be independent of pyplusplus) Matthias, may be I can not explain my self or I don't understand you. Both projects use Python logging module, I am not going to reinvent the whe= el! py++ creates/configures logger in _logging_ package, while pygccxml in utils package. If I rename _logging_ package to log_config or something else, will it be c= lear? > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-24 16:57:44
|
Roman Yakovenko wrote: >> Sorry, my question was not what messages does pygccxml output but what >> mechanism does it use to output the messages? (because it cannot use the >> _logging_ module as this one is part of pyplusplus and pygccxml is >> supposed to be independent of pyplusplus) > > Matthias, may be I can not explain my self or I don't understand you. > Both projects use Python logging module, I am not going to reinvent the wheel! > py++ creates/configures logger in _logging_ package, while pygccxml in > utils package. ok, I think now I got it that the main purpose of the _logging_ module is to initialize/configure the logger and maybe not to so much to provide the loggers. I think I was mainly confused because in pyplusplus the logger was also obtained via _logging_ whereas pygccxml cannot do this and instead initializes its logger in an __init__ module. It was just the presence of two different approaches that has confused me. - Matthias - |