|
在apache配置文件或者虚拟主机配置文件中面添加
LogFormat INSERT INTO apacheLog (ID, dateTime, IP, URL, code, referer, userAgent,>
CustomLog "| /usr/local/Mysql --host=HOST --user=USER --password=PASSWORD --database=LITRIN_NET" sqlcomm
建立数据库apacheLog。
- CREATE TABLE ` apacheLog ` (
- `ID` int(11) NOT NULL auto_increment,
- `dateTime` datetime NOT NULL,
- `IP` varchar(15) NOT NULL,
- `URL` varchar(256) NOT NULL,
- `code` varchar(3) NOT NULL,
- `referer` varchar(256) NOT NULL,
- `userAgent` varchar(256) NOT NULL,
- `size` int(11) NOT NULL,
- `request` float NOT NULL,
- PRIMARY KEY (`ID`),
- KEY `dateTime` (`dateTime`)
- ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
- SET character_set_client = @saved_cs_client;
确认无误后重启apache生效!
其实整个流程很简单:先是利用LogFormat设置将日志转换为接近sql的格式,再通过CustomLog 调用pipe实现mysql写入。你也可以参照http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats的格式设置写入自己关心的数据。
此外,你也可以使用SetEnvIf配合正则表达式过滤掉诸如图片、CSS、JS之类相对不重要的信息。
|
|
|