Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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
Java Jboss 7 AS-结合standalone.xml日志记录配置和每个部署日志记录配置_Java_Jboss_Jboss7.x - Fatal编程技术网

Java Jboss 7 AS-结合standalone.xml日志记录配置和每个部署日志记录配置

Java Jboss 7 AS-结合standalone.xml日志记录配置和每个部署日志记录配置,java,jboss,jboss7.x,Java,Jboss,Jboss7.x,我使用JBoss7,因为我在这个JBoss中部署了很少的ear。 standalone.xml已配置以下日志记录配置 <subsystem xmlns="urn:jboss:domain:logging:3.0"> . . . . <console-handler name="CONSOLE"> <level name="INFO"/> <formatter>

我使用JBoss7,因为我在这个JBoss中部署了很少的ear。 standalone.xml已配置以下日志记录配置

<subsystem xmlns="urn:jboss:domain:logging:3.0">
.
.
.
.
            <console-handler name="CONSOLE">
                <level name="INFO"/>
                <formatter>
                    <pattern-formatter pattern="%K{level}%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
            </console-handler>
.
.
.
.
            <size-rotating-file-handler autoflush="true" name="MAINLOGFILE">
                <formatter>
                    <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <file path="mainlog.log" relative-to="jboss.server.log.dir"/>
                <append value="true"/>
                <rotate-size value="1m"/>
                <max-backup-index value="1000"/>
            </size-rotating-file-handler>  
但是登录到EXTFILE的条目不会登录到MAINLOGFILE。 我的期望是,每个登录到EXTFILE的条目也应该在MAINLOGFILE中可见

请帮助我找到从每个部署loggign.properties文件引用standalone.xml中定义的日志处理程序的方法


多谢各位

你真的需要应用程序中的日志记录配置吗?您可以在jboss日志记录子系统中轻松定义记录器处理程序,这些处理程序以部署的应用程序中的特定包甚至类为目标:

<!-- all classes in `my.testpackage` package should only print INFO and up into mainlog.-->
<logger category="my.testpackage" use-parent-handlers="true">
   <level name="INFO"/>
   <handlers>
      <handler name="MAINLOGFILE"/>
   </handlers>
</logger>
 <!-- This class should print DEBUG and up into mainlog.-->
<logger category="my.testpackage.SuperImportantClass" use-parent-handlers="true">
   <level name="DEBUG"/>
   <handlers>
      <handler name="MAINLOGFILE"/>
   </handlers>
</logger>


优点:您可以通过JBoss轻松添加此配置,作为一个巨大的奖励,您可以在运行时更改它,而无需重新启动服务器或webapp。如果需要,可以将配置作为分发过程的一部分,例如使用jboss、应用程序部署和cli/config创建自己的docker映像

你真的需要应用程序中的日志记录配置吗?您可以在jboss日志记录子系统中轻松定义记录器处理程序,这些处理程序以部署的应用程序中的特定包甚至类为目标:

<!-- all classes in `my.testpackage` package should only print INFO and up into mainlog.-->
<logger category="my.testpackage" use-parent-handlers="true">
   <level name="INFO"/>
   <handlers>
      <handler name="MAINLOGFILE"/>
   </handlers>
</logger>
 <!-- This class should print DEBUG and up into mainlog.-->
<logger category="my.testpackage.SuperImportantClass" use-parent-handlers="true">
   <level name="DEBUG"/>
   <handlers>
      <handler name="MAINLOGFILE"/>
   </handlers>
</logger>


优点:您可以通过JBoss轻松添加此配置,作为一个巨大的奖励,您可以在运行时更改它,而无需重新启动服务器或webapp。如果需要,可以将配置作为分发过程的一部分,例如使用jboss、应用程序部署和cli/config创建自己的docker映像

感谢您的回复。您的建议非常好,但不幸的是,它不符合我的要求(原因很难解释)。配置通过CLI登录也是一个选项,但应该有一种方法可以在服务器启动时自动运行CLI脚本。
真的很难解释
;)我想那你就不走运了。每次部署日志记录只是为应用程序隔离的日志记录配置。至于自动化cli执行:例如,虽然可以通过定制jboss扩展来执行,但您应该诚实地将其作为交付管道的一部分。如果愿意,可以在应用程序中保留.cli文件,比如说
src/main/resources/cli
,并在部署期间通过jenkins job的shell脚本执行它们。或者为它定制jboss启动脚本。但是,在这种情况下,如果您的config-server配置只有一个真实来源,那么生活就容易多了。感谢您的回复。您的建议非常好,但不幸的是它不符合我的要求(原因很难解释)。通过CLI配置日志也是一个选项,但应该有一种方法可以在服务器启动时自动运行CLI脚本。
真的很难解释。
;)我想那你就不走运了。每次部署日志记录只是为应用程序隔离的日志记录配置。至于自动化cli执行:例如,虽然可以通过定制jboss扩展来执行,但您应该诚实地将其作为交付管道的一部分。如果愿意,可以在应用程序中保留.cli文件,比如说
src/main/resources/cli
,并在部署期间通过jenkins job的shell脚本执行它们。或者为它定制jboss启动脚本。但是,在这种情况下,如果您的config-server配置只有一个真实来源,那么生活就容易多了。祝你好运