Thanks Anthony. I went with a simple solution that serves my purpose (it's a temporary need).
I added this code starting with # JM to the gluon\packages\dal\pydal\adapters\base.py at line 413. @with_connection_or_raise def execute(self, *args, **kwargs): command = self.filter_sql_command(args[0]) handlers = self._build_handlers_for_execution() for handler in handlers: handler.before_execute(command) # JM with open('c:\\web2py\\logs\\sql.log', 'a', encoding='utf-8') as f_out: # type: TextIO if str(command) == 'PRAGMA foreign_keys=ON;': f_out.write('***' + '\r\n') f_out.write(command + '\r\n') else: f_out.write(command + '\r\n') # if str(command) == 'PRAGMA foreign_keys=ON;': # print('***') # print(command) # else: # print(command) domingo, 17 de Março de 2019 às 18:18:00 UTC, Anthony escreveu: > > See http://web2py.com/books/default/chapter/29/04/the-core#Logging. For > the logging.conf file format, see > https://docs.python.org/2/library/logging.config.html#logging-config-fileformat. > > You'll need to set up a handler for the "pyDAL" logger, which is what the > DAL uses for logging. > > On Sunday, March 17, 2019 at 4:39:26 AM UTC-4, João Matos wrote: >> >> Thanks Anthony, I activated debug=True in DAL but I can't find any log >> file. >> Do you have any idea where it is created? >> >> >> domingo, 17 de Março de 2019 às 00:26:54 UTC, Anthony escreveu: >>> >>> Also, if you set DAL(..., debug=True), I believe all SQL commands will >>> be logged to the "pyDAL" logger. >>> >>> Anthony >>> >>> On Saturday, March 16, 2019 at 5:57:47 PM UTC-4, Anthony wrote: >>>> >>>> Commands issued during migration operations are already saved to >>>> /databases/sql.log. If you want all commands (i.e., queries), note that on >>>> each request, there is db._timings, which is a list of tuples, where the >>>> first element of each tuple is the SQL command issued and the second >>>> element is the amount of time it took to execute. At the end of every >>>> request, you could dump the contents of db._timings to a log. You can do >>>> that by assigning a callback function to response._caller(), which wraps >>>> all calls to controller actions. Note, it will therefore miss any queries >>>> that are run in views, but it's probably not a good idea to run queries in >>>> views anyway. You could also set up middleware to do the logging: >>>> http://web2py.com/books/default/chapter/29/04/the-core?search=_caller#WSGI >>>> . >>>> >>>> Anthony >>>> >>>> On Saturday, March 16, 2019 at 4:54:52 PM UTC-4, João Matos wrote: >>>>> >>>>> Hello, >>>>> >>>>> I would like to log of all SQL commands web2py sends to SQLlite. Is it >>>>> possible? >>>>> >>>>> Thanks, >>>>> >>>>> JM >>>>> >>>> -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.