Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging JBoss EAP 6.2-如何在domain.xml中的日志记录配置中使用服务器名称 快速上下文: 我有两台主机,上面有jboss eap 6.2 在每个host.xml中,我定义了两个服务器(比如host1server 1、host1server 2、host2server 1、host2server 2) 所有这4台服务器都属于同一个服务器组(例如myServerGroup) myServerGroup使用配置文件完整ha 所有配置(JVM设置、部署等)都位于主机1上的domain.xml中 在Host2上,domain.xml不存在(它被重命名为domain.xml.dont.use) 我通过在每个主机上使用domain.sh(而不是standalone.sh)启动服务器(在host2上,domain.sh使用-P参数传递属性文件,属性文件将属性jboss.domain.master.address设置为指向Host1) 问题陈述:_Logging_Jboss_Jboss Eap 6 - Fatal编程技术网

Logging JBoss EAP 6.2-如何在domain.xml中的日志记录配置中使用服务器名称 快速上下文: 我有两台主机,上面有jboss eap 6.2 在每个host.xml中,我定义了两个服务器(比如host1server 1、host1server 2、host2server 1、host2server 2) 所有这4台服务器都属于同一个服务器组(例如myServerGroup) myServerGroup使用配置文件完整ha 所有配置(JVM设置、部署等)都位于主机1上的domain.xml中 在Host2上,domain.xml不存在(它被重命名为domain.xml.dont.use) 我通过在每个主机上使用domain.sh(而不是standalone.sh)启动服务器(在host2上,domain.sh使用-P参数传递属性文件,属性文件将属性jboss.domain.master.address设置为指向Host1) 问题陈述:

Logging JBoss EAP 6.2-如何在domain.xml中的日志记录配置中使用服务器名称 快速上下文: 我有两台主机,上面有jboss eap 6.2 在每个host.xml中,我定义了两个服务器(比如host1server 1、host1server 2、host2server 1、host2server 2) 所有这4台服务器都属于同一个服务器组(例如myServerGroup) myServerGroup使用配置文件完整ha 所有配置(JVM设置、部署等)都位于主机1上的domain.xml中 在Host2上,domain.xml不存在(它被重命名为domain.xml.dont.use) 我通过在每个主机上使用domain.sh(而不是standalone.sh)启动服务器(在host2上,domain.sh使用-P参数传递属性文件,属性文件将属性jboss.domain.master.address设置为指向Host1) 问题陈述:,logging,jboss,jboss-eap-6,Logging,Jboss,Jboss Eap 6,我想要实现的是,这些服务器的日志文件都写在同一个文件夹中,并且文件名应该包含服务器名 /my/logdir/Host1Server1.log /my/logdir/Host1Server2.log /my/logdir/Host2Server1.log /my/logdir/Host2Server2.log 我不知道如何做到这一点。目前在Host1上的domain.xml中,在profile full ha下,日志记录定义为 <subsystem xmlns="urn:jboss:dom

我想要实现的是,这些服务器的日志文件都写在同一个文件夹中,并且文件名应该包含服务器名

/my/logdir/Host1Server1.log
/my/logdir/Host1Server2.log
/my/logdir/Host2Server1.log
/my/logdir/Host2Server2.log
我不知道如何做到这一点。目前在Host1上的domain.xml中,在profile full ha下,日志记录定义为

<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>
...
...

...
...
理想情况下我想做的是让它看起来像

  ...
  <file relative-to="jboss.server.log.dir" path="${jboss.server.name}.log"/>
  ...
。。。
...
但当我这样做时,服务器不会启动——它无法识别jboss.server.name属性

有什么办法处理这个问题吗

提前谢谢


--Parag

要评估的选项之一是找到一种方法来覆盖各个服务器启动脚本中的日志文件名。可以设置为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>
handler.FILE.fileName=您的/log/目录/
参考文献:


免责声明:很长一段时间我没有使用JBoss,我也没有尝试上面的任何步骤:)

要评估的选项之一是找到一种方法来覆盖各个服务器启动脚本中的日志文件名。可以设置为JVM参数的参数很少,因此它们应该优先于在domain.xml或host.xml中配置的参数

自定义默认的log4j.properties/logging.properties,并通过编辑run.sh将其提供给JVM,或者可以将其作为命令行参数提供。e、 g

run.bat -Dlogging.configuration=file:./logging.properties
在logging.properties中,您可以更改以下条目以获得适当的日志文件

handler.FILE.fileName=your/log/directory/<server.log>
handler.FILE.fileName=您的/log/目录/
参考文献:


免责声明:很长一段时间我没有使用JBoss,也没有尝试上面的任何步骤:)

问题在于
JBoss.server.name
系统属性是在配置日志后设置的

您可以将
主机
资源上的
目录分组
属性更改为
按类型
。这将把日志放在
$JBOSS\u HOME/domain/logs/${JBOSS.server.name}
目录中

domain/log/
├── host-controller.log
├── process-controller.log
└── servers
    ├── server-one
    │   └── server.log
    └── server-two
        └── server.log
要更新CLI中的属性,请在默认主机(主机)上使用以下操作

然后需要重新启动服务器。您的日志现在应该都在日志目录中,尽管每个服务器都在一个新目录下

如果您在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"
}

问题在于
jboss.server.name
系统属性是在配置日志之后设置的

您可以将
主机
资源上的
目录分组
属性更改为
按类型
。这将把日志放在
$JBOSS\u HOME/domain/logs/${JBOSS.server.name}
目录中

domain/log/
├── host-controller.log
├── process-controller.log
└── servers
    ├── server-one
    │   └── server.log
    └── server-two
        └── server.log
要更新CLI中的属性,请在默认主机(主机)上使用以下操作

然后需要重新启动服务器。您的日志现在应该都在日志目录中,尽管每个服务器都在一个新目录下

如果您在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"
}

詹姆斯,这对我很有效。谢谢。我有没有办法把它们放在同一个目录里?也就是说,有没有办法让它们以不同的名称(服务器名称是名称的一部分)放在同一个目录中。这不是我能想到的。
jboss.server.name
属性工作的唯一方法是对内部类
org.jboss.as.host.controller.ManagedServerBootCmdFactory
进行更改。虽然我怀疑这会发生在EAP 6中,但您可以提交一个功能请求,将其写入EAP 7。James,这对我来说很有效。谢谢。我有没有办法把它们放在同一个目录里?也就是说,有没有办法让它们以不同的名称(服务器名称是名称的一部分)放在同一个目录中。这不是我能想到的。
jboss.server.name
属性工作的唯一方法是对内部类
org.jboss.as.host.controller.ManagedServerBootCmdFactory
进行更改。虽然我怀疑这会发生在EAP 6中,但您可以提交一个功能请求,将其写入EAP 7。