Jakarta ee JBoss server.log输出自定义
我开发了一个servlet,它输出JBoss 7.1的server.log文件,以便于调试 我想做的是定制JBoss的输出,并显示每行输出是从哪个war生成的 为了更好地理解,这是一个示例输出: 我想要的也是输出一些东西,这些东西将标识这个输出来自哪个部署 在每个输出中的URL之后,我注意到7001端口后面的数字对于每个部署都是不同的,但不知道如何将其与war文件关联 有人知道我该怎么做吗 提前谢谢 更新 我在网上找到了关于配置JBoss的内容,但遗憾的是,这是针对另一个版本的。这里解释了如何让log4j为每个部署创建不同的日志文件。这将是我的最终解决方案。首先,从您的日志内容来看,您似乎正在使用System.out.println和System.err.println 如果您将日志切换到slf4j、log4j、commons日志,当然还有jboss日志(谢谢James),您将能够看到您从哪个包进行日志记录 使用适当的日志记录工具后,您可以通过编辑配置文件按类别进行筛选 此外,日志记录将显示更具可读性,即:Jakarta ee JBoss server.log输出自定义,jakarta-ee,jboss,webserver,jboss7.x,Jakarta Ee,Jboss,Webserver,Jboss7.x,我开发了一个servlet,它输出JBoss 7.1的server.log文件,以便于调试 我想做的是定制JBoss的输出,并显示每行输出是从哪个war生成的 为了更好地理解,这是一个示例输出: 我想要的也是输出一些东西,这些东西将标识这个输出来自哪个部署 在每个输出中的URL之后,我注意到7001端口后面的数字对于每个部署都是不同的,但不知道如何将其与war文件关联 有人知道我该怎么做吗 提前谢谢 更新 我在网上找到了关于配置JBoss的内容,但遗憾的是,这是针对另一个版本的。这里解释了如何
05:21:42,272 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
我假设您正在使用$JBOSS_HOME/standalone/configuration/standalone.xml中的独立配置
您需要找到日志子系统
<subsystem xmlns="urn:jboss:domain:logging:1.1">
并创建类型为定期旋转文件处理程序的新追加器:
<periodic-rotating-file-handler name="APPLOG1">
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="applog1.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
然后添加过滤器:
<logger category="com.yourapppackage">
<level name="INFO"/>
<handler name="APPLOG1"/>
</logger>
那就行了
如果我没有记错的话,您还可以从管理控制台和CLI创建附加器和类别筛选器
关于首先,从日志内容来看,您似乎正在使用System.out.println和System.err.println
如果您将日志切换到slf4j、log4j、commons日志,当然还有jboss日志(谢谢James),您将能够看到您从哪个包进行日志记录
使用适当的日志记录工具后,您可以通过编辑配置文件按类别进行筛选
此外,日志记录将显示更具可读性,即:
05:21:42,272 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
我假设您正在使用$JBOSS_HOME/standalone/configuration/standalone.xml中的独立配置
您需要找到日志子系统
<subsystem xmlns="urn:jboss:domain:logging:1.1">
并创建类型为定期旋转文件处理程序的新追加器:
<periodic-rotating-file-handler name="APPLOG1">
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="applog1.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
然后添加过滤器:
<logger category="com.yourapppackage">
<level name="INFO"/>
<handler name="APPLOG1"/>
</logger>
那就行了
如果我没有记错的话,您还可以从管理控制台和CLI创建附加器和类别筛选器
关于只需补充一下,您也可以使用JBoss日志。这就是服务器使用的。我没有添加任何日志记录功能。这是默认的。是的,我有独立安装。这些日志语句是来自您的应用程序吗?是的,pic中显示的是System.out和.err语句。但是JBoss也有其他的功能,比如部署信息、身份验证失败等等。非常感谢您的帮助。经过很多思考,我已经创建了自己的日志记录工具,我对结果非常满意。当我有空闲时间的时候,我也会把它作为一个答案贴出来。结果是这样的:11:35:29907 INFO[stdout](http--0.0.0.0-7001-16)[mywar,JavaMailClass]->连接到服务器,现在发送电子邮件:…..只需添加,您也可以使用JBoss日志记录。这就是服务器使用的。我没有添加任何日志记录功能。这是默认的。是的,我有独立安装。这些日志语句是来自您的应用程序吗?是的,pic中显示的是System.out和.err语句。但是JBoss也有其他的功能,比如部署信息、身份验证失败等等。非常感谢您的帮助。经过很多思考,我已经创建了自己的日志记录工具,我对结果非常满意。当我有空闲时间的时候,我也会把它作为一个答案贴出来。结果是这样的:11:35:29907信息[stdout](http--0.0.0.0-7001-16)[mywar,JavaMailClass]->连接到服务器,现在发送电子邮件:。。。。。