jboss access log config

本文介绍如何在JBoss中启用并配置访问日志功能,包括修改server.xml中的相关参数,如日志文件的存储位置、日志记录格式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做WEB应用时,有时候希望能够记录用户的访问,分析访问用户的地域以及用户访问行为,JBoss提供了一种方式能够很方便的记录用户的访问日志,但是默认情况下这个功能是没有启用的,下面讲述如何启用这个功能。

  1. 修改${JBOSS_HOME}/server/defaul/deploy/jbossweb.sar/server.xml找到如下代码:
Xml代码 
  1.  <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"   
  2.               prefix="localhost_access_log." suffix=".log"   
  3. pattern="%h %l %u %t %r %s %b" directory="${jboss.server.home.dir}/log"  
  4.                resolveHosts="false" />  
  1. 上述代码默认情况下是注释的,将注释去掉,就打开了访问日志记录阀。
  2. 参数/选项说明:

    className: 实现的java类名,必须设置成org.apache.catalina.valves.AccessLogValve;
    directory: 存放日志文件的目录;
    pattern:    需要记录的日志信息的格式布局,如果是”common”或者”combined”,说明是使用的标准记录格式,也有自定义的格式,下面会详细说明;
    prefix:    日志文件名的前缀,如果没有指定,缺省值是”access_log.;(要注意后面有个小点);
    resolveHosts: 将远端主机的IP通过DNS查询转换成主机名,设为true。如果为false,忽略DNS查询,报告远端主机的IP地址;
    sufix:    日志文件的后缀名。(sufix=”.log”);也需要注意有个小点;
    rotatable: 缺省值为true,决定日志是否要翻转,如果为false则永不翻转,并且忽略fileDateFormat,谨慎使用。
    condition: 打开条件日志
    fileDateFormat:允许在日志文件名称中使用定制的日期格式。日志的格式也决定了日志文件翻转的频率。

                          如果想每小时翻转一次,可以定义为“yyyy-MM-dd.HH”;

 

pattern的详细说明

 

    %a    远端IP
    %A 本地IP
    %b    发送的字节数,不包含HTTP头,如果为0,使用”-”
    %B    发送的字节数,不包含HTTP头
    %h    远端主机名(如果resolveHosts=false),远端的IP
    %H    请求协议
    %l    从identd返回的远端逻辑用户名,总是返回’-’
    %m    请求的方法
    %p    收到请求的本地端口号
    %q    查询字符串
    %r    请求的第一行
    %s 响应的状态码
    %S    用户的sessionID
    %t    日志和时间,使用通常的log格式
    %u    认证以后的远端用户(如果存在的话,否则为’-’)
    %U    请求的URI路径
    %v    本地服务器的名称
    %D 处理请求的时间,以毫秒为单位
    %T    处理请求的时间,以秒为单位

deploy/jbossweb-tomcat55.sar/server.xml <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" prefix="access_log." suffix=".log" pattern="%h %t %r %s %D" directory="${jboss.server.home.dir}/../output/logs" resolveHosts="false" /> http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html pattern配置: %a - Remote IP address %A - Local IP address %b - Bytes sent, excluding HTTP headers, or '-' if zero %B - Bytes sent, excluding HTTP headers %h - Remote host name (or IP address if resolveHosts is false) %H - Request protocol %l - Remote logical username from identd (always returns '-') %m - Request method (GET, POST, etc.) %p - Local port on which this request was received %q - Query string (prepended with a '?' if it exists) %r - First line of the request (method and request URI) %s - HTTP status code of the response %S - User session ID %t - Date and time, in Common Log Format %u - Remote user that was authenticated (if any), else '-' %U - Requested URL path %v - Local server name %D - Time taken to process the request, in millis %T - Time taken to process the request, in seconds %I - current request thread name (can compare later with stacktraces) There is also support to write information from the cookie, incoming header, outgoing response headers, the Session or something else in the ServletRequest. It is modeled after the apache syntax: %{xxx}i for incoming request headers %{xxx}o for outgoing response headers %{xxx}c for a specific request cookie %{xxx}r xxx is an attribute in the ServletRequest %{xxx}s xxx is an attribute in the HttpSession The shorthand pattern name common (which is also the default) corresponds to '%h %l %u %t "%r" %s %b'.
D:\apache-tomcat-8.0.41\bin\catalina.bat run Configuration Error: deployment source 'test2:war exploded' is not valid [2025-06-21 05:37:16,419] Artifact test2:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。 Using CATALINA_BASE: "C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2" Using CATALINA_HOME: "D:\apache-tomcat-8.0.41" Using CATALINA_TMPDIR: "D:\apache-tomcat-8.0.41\temp" Using JRE_HOME: "C:\Program Files (x86)\Java\jdk1.8.0_121" Using CLASSPATH: "D:\apache-tomcat-8.0.41\bin\bootstrap.jar;D:\apache-tomcat-8.0.41\bin\tomcat-juli.jar" 21-Jun-2025 17:37:17.684 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.0.41 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jan 18 2017 22:19:39 UTC 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.0.41.0 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 10 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files (x86)\Java\jdk1.8.0_121\jre 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_121-b13 21-Jun-2025 17:37:17.685 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\apache-tomcat-8.0.41 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2\conf\logging.properties 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote= 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2\jmxremote.password 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2\jmxremote.access 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=D:\apache-tomcat-8.0.41\endorsed 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\三金美人儿\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Tomcat_8_0_41_test2 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=D:\apache-tomcat-8.0.41 21-Jun-2025 17:37:17.686 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=D:\apache-tomcat-8.0.41\temp 21-Jun-2025 17:37:17.699 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.10 using APR version 1.5.2. 21-Jun-2025 17:37:17.699 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 21-Jun-2025 17:37:18.195 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.2j 26 Sep 2016) 21-Jun-2025 17:37:18.267 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8081"] 21-Jun-2025 17:37:18.271 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"] 21-Jun-2025 17:37:18.271 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 746 ms 21-Jun-2025 17:37:18.289 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 21-Jun-2025 17:37:18.289 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.41 21-Jun-2025 17:37:18.296 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8081"] 21-Jun-2025 17:37:18.303 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"] 21-Jun-2025 17:37:18.306 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 33 ms 已连接到服务器 Configuration Error: deployment source 'test2:war exploded' is not valid [2025-06-21 05:37:18,657] Artifact test2:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。 21-Jun-2025 17:37:28.304 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory D:\apache-tomcat-8.0.41\webapps\manager 21-Jun-2025 17:37:28.530 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory D:\apache-tomcat-8.0.41\webapps\manager has finished in 225 ms
最新发布
06-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值