<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
pre
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi,</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Since there does not seem to be much activity, I do not know
how far this email will go. I started to use mod_log_sql recently on my
FreeBSD box and noticed the LogSQLMassVirtualHosting option used the hostname
of the request host (equivalent to the server’s HTTP_HOST variable) to
create it’s dynamic tables. After conferring with someone on IRC who
also used mod_log_sql, I wrote a small patch that will provide an option for
either using the HTTP_HOST for the table name or the ServerName defined in your
httpd.conf or VirtualHost configuration.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Basically, I created a new option called LogSQLUseServerName
which can be set to either on or off. Off is the default and replicates the
current behavior. On will make it use ServerName to create your tables.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Patch as follows (use patch –p0 < patch) to apply
to source. I wrote this patch from 101 so it may not work with earlier versions.
Disclaimer: I am not a C developer, only a part time code hacker so the code
may not be 100% sane (but I believe it is). Use at your own risk. Feel free
to “fix” if necessary, just do us all a favor and give it back to
us.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>--- mod_log_sql.c.old Mon Nov 6 18:43:23 2006</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+++ mod_log_sql.c Sun Apr 8 22:24:49 2007</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>@@ -55,6 +55,7 @@</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> int createtables;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> int forcepreserve;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> int disablepreserve;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ int use_servername;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> char *machid;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> int announce;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> logsql_dbconnection db;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>@@ -806,7 +807,16 @@</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> /* Determine the hostname and convert it to all lower-case; */</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>- char *servername = apr_pstrdup(orig->pool,(char *)ap_get_server_name(orig));</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ char *servername;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ if( global_config.use_servername ) {</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ servername = apr_pstrdup(orig->pool,(char *)orig->server->server_hostname);</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ // log_error(APLOG_MARK,APLOG_ERR,0,orig->server, "use_servername defined in config");</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ }</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ else {</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ servername = apr_pstrdup(orig->pool,(char *)ap_get_server_name(orig));</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ }</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ // log_error(APLOG_MARK,APLOG_ERR,0,orig->server, "using servername %s", servername);</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> </span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> char *p=servername;</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> while (*p) {</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>@@ -1181,6 +1191,11 @@</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> (void *)APR_OFFSETOF(global_config_t, machid), RSRC_CONF,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> "Machine ID that the module will log, useful in web clusters to differentiate machines")</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> ,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ /* Use ServerName or the Request Header Name? */</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ AP_INIT_FLAG("LogSQLUseServerName", set_global_flag_slot,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ (void *)APR_OFFSETOF(global_config_t, use_servername), RSRC_CONF,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ "Determines whether we are going to use the Virtual Host ServerName to create our tables or the request header")</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'>+ ,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> /* Limits on logging */</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> AP_INIT_ITERATE("LogSQLRequestAccept", add_server_string_slot,</span></font></pre><pre><font
size=2 face="Courier New"><span style='font-size:10.0pt'> (void *)APR_OFFSETOF(logsql_state, transfer_accept_list), RSRC_CONF,</span></font></pre>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
</div>
</body>
</html>