我想要实现的是这些服务器的日志文件写在同一个文件夹中,文件名中应该包含服务器名称。例如......
<subsystem xmlns="urn:jboss:domain:logging:1.3">
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
...
...
我不知道如何实现这一目标。目前在Host1上的domain.xml中,在配置文件full-ha下,日志记录定义为
...
<file relative-to="jboss.server.log.dir" path="${jboss.server.name}.log"/>
...
我最想做的事情就是让它看起来像......
sprintf
但是当我这样做时,服务器无法启动 - 它无法识别jboss.server.name属性。
有没有办法解决这个问题?
提前致谢。
- Parag
答案 0 :(得分:0)
评估的一个选项是找到一种方法来覆盖各个服务器的启动脚本中的日志文件名。您可以将几个参数设置为JVM参数,它们应优先于domain.xml或host.xml中配置的参数。
自定义默认的log4j.properties/logging.properties并通过编辑run.sh将其提供给JVM,或者将其作为命令行参数提供。例如
run.bat -Dlogging.configuration=file:./logging.properties
在logging.properties中,您可以更改以下条目以获得适当的日志文件
handler.FILE.fileName=your/log/directory/<server.log>
参考文献:
https://developer.jboss.org/wiki/JBossBootLogging
https://developer.jboss.org/thread/233393
https://developer.jboss.org/thread/250554
免责声明:很长一段时间我没有和JBoss合作,我没有尝试上述任何步骤:)
答案 1 :(得分:0)
问题是在配置日志记录后设置jboss.server.name
系统属性。
您可以做的是将directory-grouping
资源上的host
属性更改为by-type
。这会将日志放在$JBOSS_HOME/domain/logs/${jboss.server.name}
目录中。
domain/log/
├── host-controller.log
├── process-controller.log
└── servers
├── server-one
│ └── server.log
└── server-two
└── server.log
要在CLI中更新属性,请在默认主机(主服务器)上使用以下操作。
/host=master:write-attribute(name=directory-grouping,value=by-type)
然后您需要重新启动服务器。您现在应该都在日志目录中,但是在每个服务器的新目录下。
如果您在CLI中阅读host=*
资源的资源,您将看到以下说明。
"directory-grouping" => {
"type" => STRING,
"description" => "Describes how the writable directories for servers managed by this host controller should be organized. The default value, 'by-server', indicates each server's writable directories should be grouped under the server's name in the domain/servers directory. The alternative, 'by-type' indicates each server's writable directories should be grouped based on their \"type\" (i.e. \"data\", \"log\", \"tmp\") with directories of a given type for all servers appearing in the domain level directory for that type, e.g. domain/data/servers/server-name.",
"expressions-allowed" => true,
"nillable" => true,
"default" => "by-server",
"allowed" => [
"by-type",
"by-server"
],
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "all-services"
}