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.

