我在一台Linux机器上运行了两个JVM(server1和server2)。 &安培;我想将日志从默认目录移动到每个JVM的自定义目录。
像 -
/data/logs/$JVM_NAME/
这样最终的日志就可以到达像
这样的目录了/data/logs/server1/
&
/data/logs/server2/
我了解到可以在服务器启动参数中设置jboss.server.log.dir
变量。然后我尝试了启动命令。
nohup sh /appl/isaac/jboss/jboss-eap-6.4/bin/domain.sh -b some.server.domain.com -bmanagement some.server.domain.com -Djboss.domain.log.dir=/data/logs -Djboss.server.log.dir=/data/logs/ > /tmp/domain.out 2>&1 &
这很好用。日志写在/data/logs/
。
但是我不确定如何在这些参数中添加一个变量,为这台机器上的每个JVM添加一个带有JVM名称的子目录。这样日志就会写入/data/logs/$JVM_NAME/
。
答案 0 :(得分:1)
这是在WildFly 9中修复的issue。
如果您不介意另外一个目录,可以将它们放入/data/logs/servers/server1
和/data/logs/servers/server2
这样的目录中。为此,您只需更改主机上的directory-grouping
属性即可。
/host=master:write-attribute(name=directory-grouping, value=by-type)
然后只需传递系统属性,就像您在命令中一样。你最终应该得到以下内容。
├── host-controller.log
├── process-controller.log
└── servers
├── server-one
│ └── server.log
└── server-two
└── server.log