Logging from files doesn't work

Andrew Z formisc at gmail.com
Wed Oct 11 22:27:21 EDT 2017


aha. So the issue is that main.py's __name__ attribute == "__main__" and
test.py is "test1.test".
if i manually assign names:
main.py - >

log = logging.getLogger("MAIN")

test.py - >
log = logging.getLogger("MAIN.test1.test")

then logging is working perfectly well.

This brings me to the question - what is wrong with me file
naming/structure that confuses the logging module? I'm not sure i
really want to have each little file in it's own directory too..

but i'm open for suggestions.


On Wed, Oct 11, 2017 at 10:15 PM, Andrew Z <formisc at gmail.com> wrote:

> if i change print statements in both files to print out "__name__":
> __main__
> test1.test
>
> On Wed, Oct 11, 2017 at 10:02 PM, Andrew Z <formisc at gmail.com> wrote:
>
>> Hello,
>>
>>  apparently my reading comprehension is nose diving these days. After
>> reading python cookbook and a few other tutorials i still can't get a
>> simple logging from a few files to work.
>> I suspected my file organization - all files are in the same directory,
>> causing problem. But it appears it is not.
>>
>> Anyway, in the example below, only logging from main.py works. I also
>> want to have login from "test1/test.py" to write into the same common log
>> file.
>>
>> And how can i accomplish the same if test.py is in the same directory as
>> main.py?
>>
>> dir structure:
>> src/
>>      |- main.py
>>      |-test/
>>              |-test.py
>>
>> code:
>> test.py:
>>
>> import logging
>> # neither of below produce any results
>>
>> log = logging.getLogger("test1.test")
>> # log = logging.getLogger(__name__)
>>
>> def fun():
>>    print("DADADA")
>>    log.debug(" DADADADA " )
>>
>>
>> main.py:
>>
>> from test1.test import fun
>>
>> def main():
>>
>>    log = logging.getLogger(__name__)
>>    log.setLevel(logging.DEBUG)
>>
>>    fh = logging.FileHandler("nja_" + datetime.now().strftime("%Y_%b_%d_%H_%M_%S") +".log")
>>    formatter = logging.Formatter('%(levelname)s - %(asctime)s - %(funcName)10s() %(lineno)s - %(message)s')
>>    fh.setFormatter(formatter)
>>    log.addHandler(fh)
>>
>>    log.debug("Yes, this line is in the log file")
>>
>>    fun()
>>
>>    log.debug("And this one is too")
>>
>>
>>
>>  this is 3.5 version.
>>
>> Thank you in advance.
>>
>
>



More information about the Python-list mailing list