On Fri, 25 Jan 2019 at 21:13, Marcus Mann <[email protected]> wrote:

> So what if I moved the logging stuff into the __init__.py and remove all
> the logging stuff from development.ini? Would that solve my issue?
>

Some ideas with lack of better information:

1) Not sure about pserve, but uWSGI had an event it fires after forking, so
could quite deterministically initialise post-fork stuff

2) Lazily configure loggers when they are first time referred within HTTP
request processing (not sure how either)

-Mikko


>
> On Friday, January 25, 2019 at 4:01:40 PM UTC-5, Michael Merickel wrote:
>>
>> The issue is that pserve configures logging *before* forking the
>> children, while in the monitor process, and then configures logging again
>> in the child subprocesses after forking. This is an issue and hasn't been
>> pointed out by anyone before. This means you always have two processes
>> opening those files.
>>
>> I recommend logging to stderr instead and handling file rotation and such
>> external to the processes themselves, however it doesn't mean this isn't a
>> bug.
>>
>> Possible solutions:
>>
>> 1) Do not configure logging in the parent process, or just do it using
>> basicConfig. Only use your logging config in the child process. This is
>> probably an acceptable solution but means that the logging coming from
>> hupper in the parent process would not use the logging formatters/handlers
>> that are in your config which is slightly surprising.
>>
>> 2) Keep doing what we're doing and say something about how it's not
>> supported.
>>
>> 3) ???
>>
>> - Michael
>>
>> On Fri, Jan 25, 2019 at 2:46 PM Marcus Mann <[email protected]> wrote:
>>
>>> Hello!
>>> I am trying to setup logging. I have run into a bug. If I
>>> use RotatingFileHandler and try to start my pyramid setup with pserve
>>> --reload development.ini, it throws an error similar to this when it tries
>>> to rotate the file:
>>>
>>> PermissionError: [WinError 32] The process cannot access the file
>>> because it is being used by another process: 'C:\\var\\log\\testing.log'
>>> -> 'C:\\var\\log\\testing.log.1'
>>>
>>> Here is the logging portion of my development.ini:
>>>
>>> [loggers]
>>> keys = root, companalysis
>>>
>>> [handlers]
>>> keys = console, filelog, debugfilelog
>>>
>>> [formatters]
>>> keys = generic
>>>
>>> [logger_root]
>>> level = DEBUG
>>> handlers = console, debugfilelog
>>>
>>> [logger_companalysis]
>>> level = DEBUG
>>> handlers = filelog
>>> qualname = companalysis
>>>
>>> [handler_console]
>>> class = StreamHandler
>>> args = (sys.stderr,)
>>> level = INFO
>>> formatter = generic
>>>
>>> [handler_filelog]
>>> class=handlers.RotatingFileHandler
>>> level=DEBUG
>>> args=('/var/log/testing.log','a',1000,100)
>>> formatter=generic
>>>
>>> [handler_debugfilelog]
>>> class=handlers.RotatingFileHandler
>>> level=NOTSET
>>> args=('/var/log/toolbox_debugging.log','a',1000,100)
>>> formatter=generic
>>>
>>> [formatter_generic]
>>> format = %(asctime)s %(levelname)-5.5s
>>> [%(name)s:%(lineno)s][%(threadName)s] %(message)s
>>>
>>> I am on Windows 10.
>>>
>>> If I start it without the --reload tag, it works as expected.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "pylons-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/pylons-discuss/098b16e7-1955-4d21-9f4c-6a32d82fe103%40googlegroups.com
>>> <https://groups.google.com/d/msgid/pylons-discuss/098b16e7-1955-4d21-9f4c-6a32d82fe103%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pylons-discuss/7aca6559-568d-4ff6-8aa1-5af39abe9bc2%40googlegroups.com
> <https://groups.google.com/d/msgid/pylons-discuss/7aca6559-568d-4ff6-8aa1-5af39abe9bc2%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/CAK8RCUvEYr3j246DiiRbbH_FKc9pcp7F-%3DrS0Fku%2BWyccRhwOg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to