我有一个奇怪的问题,对于单个应用程序,JBoss(EAP 6.0.0)似乎在~/logs
的家庭目录中转储访问日志。至少可以说这很烦人。
我的网络应用程序jboss-web.xml
文件似乎正常:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
<jboss-web>
<context-root>/moore</context-root>
<!-- http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html#Access_Log_Valve -->
<valve>
<class-name>org.apache.catalina.valves.AccessLogValve</class-name>
<param>
<param-name>prefix</param-name>
<param-value>access_log_moore_</param-value>
</param>
<param>
<param-name>suffix</param-name>
<param-value>.log</param-value>
</param>
<param>
<param-name>pattern</param-name>
<param-value>%h %A %l %u %t "%r" %s %b %T %I "%{Referer}i" "%{User-Agent}i"</param-value>
</param>
<param>
<param-name>resolveHosts</param-name>
<param-value>false</param-value>
</param>
<param>
<param-name>fileDateFormat</param-name>
<param-value>yyyy-MM-dd-HH</param-value>
</param>
</valve>
</jboss-web>
我似乎找不到任何告诉它在~/logs
中转储日志的地方,并且所有其他Web应用程序都可以正常登录到JBoss日志目录。如何调试错误配置的位置并将这些日志恢复到JBoss日志目录?
答案 0 :(得分:1)
我认为在JBoss EAP 6.x中配置访问日志的最佳方法是在domain:web
子系统中添加它。
的例如强>
<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
<access-log pattern="%h %A %l %u %t "%r" %s %b %T %I "%{Referer}i" "%{User-Agent}i"" prefix="access_log_moore_" rotate="true">
<directory path="." relative-to="jboss.server.log.dir" />
</access-log>
</virtual-server>
</subsystem>
另请参阅:JBoss EAP 6.0.1 Model Reference
但是,如果您需要/想要在jboss-web.xml
的应用程序中使用阀门配置,则必须在配置中添加属性directory
,并使用绝对路径登录日志目录。
<强>例如强>
<jboss-web>
<context-root>/moore</context-root>
<valve>
<!-- ... -->
<param>
<param-name>directory</param-name>
<param-value>/path/to/jboss/log/dir</param-value>
</param>
</valve>
</jboss-web>
directory
日志文件所在目录的绝对或相对路径名 由这个阀门创建的将被放置。如果指定了相对路径, 它被解释为相对于
$CATALINA_HOME
。如果没有目录 指定了属性,默认值为“logs”(相对于$CATALINA_HOME
)。
在JBoss 7 / EAP 6中$CATALINA_HOME
未设置,日志在~/logs
中创建(在您的情况下)。
参考:https://docs.jboss.org/jbossweb/latest/config/valve.html
我希望这有帮助。