Skip to content

Instantly share code, notes, and snippets.

@simonw
Created June 22, 2011 09:28

Revisions

  1. Simon Willison created this gist Jun 22, 2011.
    43 changes: 43 additions & 0 deletions log.lua
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    --[[
    Copyright (C) 2007 MySQL AB
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2 of the License.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    --]]

    ---
    -- Uses MySQL-Proxy to log your queries
    -- Downloaded from http://ronaldbradford.com/mysql-dba/mysql-proxy/log.lua
    --
    -- Written by Giuseppe Maxia, based on examples provided
    -- by Jan Knesckhe
    --
    -- This script will log the current date and time, the connection id
    -- and the query to a file named "mysql.log" in the current directory
    --
    local log_file = 'mysql.log'

    local fh = io.open(log_file, "a+")

    function read_query( packet )
    if string.byte(packet) == proxy.COM_QUERY then
    local query = string.sub(packet, 2)
    fh:write( string.format("%s %6d -- %s \n",
    os.date('%Y-%m-%d %H:%M:%S'),
    proxy.connection.server["thread_id"],
    query))
    fh:flush()
    end
    end