开启JBoss7/WildFly的access_log功能

前言

对于一个网站来说,访问日志,即access_log,对网站来说是一项很重要的功能。利用它,我们可以统计出很多有用的信息,从而给网站的运维带来方便,所以基本上每个网站都会开启这件功能。

JBoss As 7配置

在默认的情况下,JBoss7.1是没有开启access_log的,如果要开启这项功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml(domain.xml)这个文件,相关的修改内容如下所示:

<subsystem xmlns="urn:jboss:domain:web:1.0"default-virtual-server="default-host">
<connector name="http"scheme="http" protocol="HTTP/1.1" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
<access-log/>
</virtual-server>
</subsystem>

当完成上面的配置并重启服务器后,你就可以访问一下你的网站,然后你就会在$JBOSS_HOME\standalone\log\default-host目录下看到一个名为access_log.2012-02-24的文件,它就是你所需要的访问日志了。

WildFly 8 配置

WildFly开启access_log的方法和JBoss 7 类似,也是找到相对应的web容器添加上配置就可以了,只不过二者使用的容器不相同,而且WildFly中必须指定log的存放目录。


 <subsystem xmlns="urn:jboss:domain:undertow:1.0">
            <buffer-caches>
                <buffer-cache name="default" buffer-size="1024" buffers-per-region="1024" max-regions="10"/>
            </buffer-caches>
            <server name="default-server">
                <http-listener name="default" socket-binding="http"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                    <access-log pattern="common" directory="${jboss.home.dir}/standalone/log" prefix="access" />
                </host>
            </server>
            <servlet-container name="default" default-buffer-cache="default" stack-trace-on-error="local-only">
                <jsp-config/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="Wildfly 8"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow 1"/>
            </filters>
        </subsystem>

如上,添加红色标记一行,即可开启WildFly 8的access_log功能,重启服务器,访问ip:8080即可在JBOSS_HOME/standalone/log目录下生成access.log

其中

prefix指定log文件的前缀名即文件名

pattern指定日志的格式

pattern可以设置成两种方式,第一种是pattern="common",第二种是pattern="combined"

以下是笔者测试的两种格式的日志输出,访问localhost:8080

common格式的日志输出如下:

combined格式的日志输出如下:

可以看出,第二种格式的日志输出相对具体,而实际开发过程中开启哪种格式的access_log要根据需求来确定就可以了。

结束语

开启access_log的配置到此结束,若有问题,请参考以下资料,或者直接联系我们,谢谢!

参考资料

https://issues.jboss.org/browse/WFLY-1721

http://hi.baidu.com/saiv000/item/9ed9779aa1b1a2dc1f4271ea

http://hooray520.iteye.com/blog/1335156

开启JBoss7/WildFly的access_log功能,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。