I opened https://github.com/Pylons/pyramid/issues/3455 to track this.

On Fri, Jan 25, 2019 at 3:00 PM Michael Merickel <[email protected]> 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/CAKdhhwFf8jbbx9zWyuwKKP8b%2BorW3K6FFKhG3GcyyuxvAKC2LQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to