开启JBoss7/WildFly的access_log功能_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 开启JBoss7/WildFly的access_log功能

开启JBoss7/WildFly的access_log功能

 2014/4/1 13:14:05  cvamy11  程序员俱乐部  我要评论(0)
  • 摘要:前言对于一个网站来说,访问日志,即access_log,对网站来说是一项很重要的功能。利用它,我们可以统计出很多有用的信息,从而给网站的运维带来方便,所以基本上每个网站都会开启这件功能。JBossAs7配置在默认的情况下,JBoss7.1是没有开启access_log的,如果要开启这项功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml(domain.xml)这个文件,相关的修改内容如下所示:<
  • 标签:Access 功能 开启

前言

对于一个网站来说,访问日志,即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格式的日志输出如下:

class="confluence-embedded-image" style="border: 1px solid transparent; cursor: pointer;" src="http://wiki.cnsuning.com/download/attachments/16617941/access2.PNG?version=1&modificationDate=1392710327781&api=v2">

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

发表评论
用户名: 匿名