Java Jboss 7 AS-结合standalone.xml日志记录配置和每个部署日志记录配置
我使用JBoss7,因为我在这个JBoss中部署了很少的ear。 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>
<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配置只有一个真实来源,那么生活就容易多了。祝你好运