Thank you for your reply,  
Deleting the application folder gives the same error.  
The problem is that the logger holds the log file locked.  If I restart the 
webserver I can delete the file, but our developers can't restart web 
services.
It is not a big problem but I would like to find a solution (if one 
exists)..

On Monday, October 26, 2020 at 4:56:30 AM UTC+1 [email protected] wrote:

> Hi David
>
> I am not sure that i have ever used the Uninstall option. I just delete 
> the application folder and the application disappears. I am not sure if 
> that leaves any residual information in files somewhere. But i have not 
> noticed a problem.
>
> Does that work for you?
> Andrew
>
> ___________________________
> *www.TenOutOfTen.org* <https://www.TenOutOfTen.org>
> [email protected]
> (+95) 09 250018669 <+95%209%20250%20018%20669> (Myanmar)
>
>
>
> On Fri, 23 Oct 2020 at 17:07, Davidiam <[email protected]> wrote:
>
>> When using logging in web2py on Windows, we are unable to delete 
>> applications unless we first stop the server.
>>
>> The reason is that the app.log is considered "in use".
>>
>> As the uninstall happens from the admin app, I am not quite sure how best 
>> to stop the logger in the application that is being uninstalled when the 
>> "Uninstall" option is selected from admin.  
>>
>> Anyone have any ideas on how to unistall an app that uses logging.  
>> Apparently this is only an issue on Windows because the os.unlink works on 
>> "in use" files on linux systems.
>>
>> Note : We have defined the location of the log files within the 
>> application directory structure so that the developers have access to the 
>> files.
>>
>> This is the logging code used :
>> def get_configured_logger(name):
>>     Test = False
>>     logger = logging.getLogger(name)
>>     if (len(logger.handlers) == 0):
>>     # This logger has no handlers, so we can assume it hasn't yet been 
>> configured
>>     # (Configure logger)
>>
>>     # Create default handler
>>     if request.env.web2py_runtime_gae:
>>     # Create GAEHandler
>>     handler = GAEHandler()
>>     else:
>>     # Create RotatingFileHandler
>>     import os
>>     formatter="%(asctime)s %(levelname)s %(process)s %(thread)s 
>> %(funcName)s():%   (lineno)d %(message)s"
>>     handler = 
>> logging.handlers.RotatingFileHandler(os.path.join(request.folder,
>> 'private/app.log'), maxBytes=1000000,backupCount=2)
>> handler.setFormatter(logging.Formatter(formatter))
>>
>>     handler.setLevel(logging.DEBUG)
>>
>>     logger.addHandler(handler)
>>     logger.setLevel(logging.DEBUG)
>>
>>     # Test entry:
>>
>>     if Test == True:
>>     logger.debug(name + ' logger created')
>>     else:
>>     # Test entry:
>>     if Test == True:
>>     logger.debug(name + ' already exists')
>>
>>     return logger
>>
>> -- 
>> Resources:
>> - http://web2py.com
>> - http://web2py.com/book (Documentation)
>> - http://github.com/web2py/web2py (Source code)
>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/web2py/c9b3c32c-6cfc-4b5f-9894-a62d16898ea5n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/web2py/c9b3c32c-6cfc-4b5f-9894-a62d16898ea5n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/4af7b1b3-1161-4252-80fe-0f89e125db82n%40googlegroups.com.

Reply via email to