在JBoss5.x下配置了log4j.xml文件,但是配置没有生效。如果你在项目中没有指定使用的log4j的配置文件,最好使用JBoss自带的配置文件,文件名为jboss-log4j.xml。该文件在Jboss容器的目录为:${JBOSS_HOME}\server\default\conf下。下面就是基于log4j默认配置的一些基本修改和注释:
<span style="font-size:12px;"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" /> <param name="File" value="${jboss.server.log.dir}/server.log" /> <param name="Append" value="true" /> <!-- Rollover at midnight each day --> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <!-- Rollover at the top of each hour <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/> --> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="ConversionPattern" value="%d %-5p [%c] %m%n" /> <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/> --> </layout> </appender> <appender name="ErrorFile" class="org.jboss.logging.appender.DailyRollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" /> <param name="File" value="${jboss.server.log.dir}/error.log" /> <param name="Threshold" value="ERROR" /> <param name="Append" value="true" /> <!-- Rollover at midnight each day --> <param name="DatePattern" value="'.'yyyy-MM-dd" /> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="ConversionPattern" value="%d %-5p [%c] %m%n" /> <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/> --> </layout> </appender> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" /> <param name="Target" value="System.out" /> <param name="Threshold" value="INFO" /> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" /> </layout> </appender> <!-- ================ --> <!-- Limit categories --> <!-- ================ --> <category name="org.hibernate"> <priority value="WARN" /> </category> <category name="org.hibernate.engine.loading.LoadContexts"> <priority value="ERROR" /> </category> <category name="org.jboss"> <priority value="INFO" /> </category> <!-- Limit the org.apache category to INFO as its DEBUG is verbose --> <category name="org.apache"> <priority value="WARN" /> </category> <!-- Limit the jacorb category to WARN as its INFO is verbose --> <category name="jacorb"> <priority value="WARN" /> </category> <!-- Limit the org.jgroups category to WARN as its INFO is verbose --> <category name="org.jgroups"> <priority value="WARN" /> </category> <!-- Limit the org.quartz category to INFO as its DEBUG is verbose --> <category name="org.quartz"> <priority value="INFO" /> </category> <!-- Limit the JSR77 categories --> <category name="org.jboss.management"> <priority value="INFO" /> </category> <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose --> <category name="org.jboss.serial"> <priority value="INFO" /> </category> <category name="com.liang"> <priority value="DEBUG" /> </category> <!-- ======================= --> <!-- Setup the Root category --> <!-- ======================= --> <root> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> <appender-ref ref="ErrorFile" /> </root> </log4j:configuration></span>
1. Log4j的几种输出方式
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定位置)
2. 日志记录的优先级
优先级从高到低:OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL。
log4j建议使用FATAL、ERROR、WARN、INFO、DEBUG。
你可以在<param name="Threshold" value="ERROR" />来配置level,Threshold是一个全局的过滤器,低于其设置的level将不会显示出来。
3. 当重启Jboss服务之后是否保存之前的日志
<param name="Append" value="true" />,设置为true后,当Jboos重启后当前的log不会消失,即在原有日志上增加新日志。
4. 日志输出格式
%c 输出所属类的全名,可在修改为 %c{num} ,num表示输出的范围
如:"org.apache.elathen.ClassName",%c{2}将输出elathen.ClassName
%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
%l输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
%n 换行符
%m输出代码指定信息,如info("message"),输出message
%p 输出优先级,即 FATAL ,ERROR 等
%r 输出从启动到显示该log信息所耗费的毫秒数
%t输出产生该日志事件的线程名
5. 关于category的配置
category指定了以什么开头的包下的类输出的日志的级别。例如:
<category name="com.liang">
<priority value="DEBUG" />
<appender-ref ref='FILE'/>
</category>
从上面可以看出,项目中以com.liang包开头的所有类中,凡是DEBUG级别的日志可以输出到FILE中。
注意:定义了一个appender-ref=FILE的引用,但是你如果也在root下配置了appender-ref=FILE的引用,会导致输出到FILE的日志会重复。本人碰到过类似的问题。
后面:我们会翻译JBoss的官网文档,请继续关注。
相关推荐
IDE 1.4.0 3 基于JBoss 4.x的JSF应用开发 4 基于JBoss 4.x的JMS应用开发 5 基于JBoss 4.x的Hibernate应用开发 6 基于JBoss 4.x的JTA应用开发 7 基于JBoss 4.x的JavaMail应用开发 8 基于JBoss 4.x...
JBoss5.x下配置Log4j的方法是Java开发者在进行企业级应用开发时经常会遇到的一个问题,因为良好的日志记录机制对于应用的维护和问题诊断至关重要。 JBoss5.x版本下配置Log4j主要涉及到以下几个关键步骤: 1. 配置...
JBOSS log4j 配置 Log4j 是一个功能强大且灵活的日志记录工具,广泛应用于 Java 项目中。然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,...
基于JBoss 4.x的J2EE 1.4应用 开发指南
JBoss AS 4.2.3.GA(Application Server)是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)5规范,提供了全面的企业级服务,包括EJB(Enterprise JavaBeans)、JMS(Java Message ...
《基于JBoss 4.x的J2EE 1.4应用开发指南》是一本专为开发者设计的详尽教程,旨在帮助读者掌握如何在JBoss 4.x应用服务器上开发和部署J2EE 1.4标准的应用程序。这本书深入探讨了JBoss 4.x与J2EE 1.4规范的集成,以及...
1. **Java EE 5支持**:JBoss 4.0.x系列是基于Java EE 5标准的,提供了诸如EJB 3.0、JPA(Java Persistence API)、JSF(JavaServer Faces)、JMS(Java Message Service)等组件的支持,使得开发企业级应用变得更加...
标题中的“jdk1.6与jboss5.x冲突问题的解决方法”指的是在使用Java Development Kit(JDK)1.6版本与JBoss Application Server 5.x版本进行集成时可能出现的兼容性问题。JBoss AS是一款开源的企业级Java应用程序...
在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...
### jBoss下通过配置Log4j实现Web应用的日志管理 #### 一、Log4j简介与重要性 Log4j是一款广泛使用的Java日志框架,由Apache软件基金会开发维护。它提供了一种灵活的方式来控制应用程序日志的生成,允许开发者...
JBoss 4.x版本的企业级应用服务平台群集指南详细介绍了如何配置和管理JBoss群集,以便为应用提供高可用性和扩展性。 ### 群集系统(Clustering) 群集系统由多个平行运行的服务器组成,这些服务器被称为群集节点。...
JBoss 4.2.3.GA是JBoss 4.x系列的一个稳定版本,发布于2008年。它包含了对Java EE 5规范的支持,提供了EJB 3.0、JPA(Java Persistence API)、JSF(JavaServer Faces)等关键组件。此版本还强化了安全管理、性能...
不建议将JBoss安装在`Program Files`目录下,因为这可能会导致某些应用程序出现未知错误。可以选择其他目录,例如`C:\JavaServer\jboss`。 5. **选择安装类型** 根据需求选择安装类型。如果需要集群功能,可以...
【标题】"CVE-2017-12149 JBOSS AS 6.X 反序列化漏洞详解及反弹shell技术" 【内容】 CVE-2017-12149是一个针对JBOSS Application Server 6.x版本的严重安全漏洞,它涉及到了Java对象的反序列化过程。在Java中,反...
1. **日志配置**: 修改`%JBOSS_HOME%\server\default\log4j.properties`来定制日志输出。 2. **监控工具**: 利用JMX和Jaeger等工具监控服务器性能和应用状态。 **十一、故障排查** 1. **错误日志**: 查看`%JBOSS_...
jboss4.2.2.GA java开发的好帮手
Log4j测试1、应用服务器版本:JBoss7.x or JBoss EAP 6.x2、日志文件配置详见项目的log4j.properties文件3、访问如下地址日志生成到D:\log4jtest.log4、访问如下地址日志生成到D:\cuntest.log5、buffer默认8k,至少...
java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; 错误解决办法
5. 在Java SE环境下的配置和启动引导部分,文档会介绍如何在Java Standard Edition环境中设置和配置Hibernate EntityManager,这包括了详细的安装步骤和配置方法。 6. 文档还提供了关于如何获取帮助和反馈的部分,...