- 浏览: 253391 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
nick.s.ni:
eclipselink JPA 没遇到这个问题,entity是 ...
JPA 无法加载独立JAR包中实体映射文件 unkonwn entity -
xiaoLee:
不错的example
freemarker 学习 -
yhjhoo:
这个是2.16的bug,升级到2.18就好了
严重: Exception starting filter struts2 -
chltkgg:
顶三楼的,谢谢了。。。。。
严重: Exception starting filter struts2 -
thebye85:
应该是BUG,把int改成long就可以了public voi ...
在配置proxool联接池时,houseKeepingSleepTime属性不能设置
1. 把 D:\jboss-4.0.5.GA\server\default\conf 里面的 log4j.xml 改名为 jboss-log4j.xml
2. 编辑 D:\jboss-4.0.5.GA\server\default\conf 里面的 jboss-service.xml 找到
<!-- ==================================================================== -->
<!-- Log4j Initialization -->
<!-- ==================================================================== -->
<mbean code="org.jboss.logging.Log4jService"
name="jboss.system:type=Log4jService,service=Logging"
xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
<attribute name="ConfigurationURL">resource:log4j.xml</attribute>
<!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
this needs to be set to avoid a possible deadlock on exception at the
appender level. See bug#696819.
-->
<attribute name="Log4jQuietMode">true</attribute>
<!-- How frequently in seconds the ConfigurationURL is checked for changes -->
<attribute name="RefreshPeriod">60</attribute>
</mbean>
把 resource:log4j.xml 改为 resource:jboss-log4j.xml
3. 在自己的应用程序的 WEB-INF 目录中添加一个 jboss-web.xml 内容如下
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
ConfigTest:loader=ConfigTest.war
<loader-repository-config>java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
4. 把 log4j.jar 加到 build-path 中
5. 在自己的应用程序的 WEB-INF 目录中添加一个 log4j.properties 内容如下:
#Global variable definition
LOG_LEVEL=DEBUG
LOG_FILE1=D:/jboss-4.0.5.GA/server/default/log/configtest1.log
LOG_FILE2=D:/jboss-4.0.5.GA/server/default/log/configtest2.log
# com.microsoft Logger
log4j.logger.org.stephencat.test=${LOG_LEVEL}, logfile1
log4j.additivity.org.stephencat.test=false
# com.microsoft Logger
log4j.logger.org.stephencat.cat=${LOG_LEVEL}, logfile2
log4j.additivity.org.stephencat.cat=false
# Console Appender Definition
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %c(%t) %x:%m%n
#log4j.appender.stdout.layout.ConversionPattern=%-5p:[%d{MM/dd HH:mm:ss,SSS}] %c(%t) %x:%m%n
# File Appender Definition
log4j.appender.logfile1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile1.File=${LOG_FILE1}
log4j.appender.logfile1.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile1.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile1.layout.ConversionPattern=%-5p:[%d{ISO8601}] %c(%t) %x:%m%n
# File Appender Definition
log4j.appender.logfile2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile2.File=${LOG_FILE2}
log4j.appender.logfile2.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile2.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile2.layout.ConversionPattern=%-5p:[%d{ISO8601}] %c(%t) %x:%m%n
这里分别定义了两个命名控件:
logfile1 对应命名空间(Java 代码中的 package)org.stephencat.test.*
logfile2 对应命名空间 org.stephencat.cat.*
6. 建立一个用于初始化的 InitServlet ,配置如下方法:
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init(ServletConfig config) throws ServletException {
// Put your code here
String isRelativePosition = config.getInitParameter("relativePosition");
String logConfiguration = config.getInitParameter("logConfiguration");
String root = "";
if(isRelativePosition.equals("true")){
root = config.getServletContext().getRealPath("/");
}
PropertyConfigurator.configure(root + logConfiguration);
}
在 web.xml 配置这个 Servlet 的初始化参数(声明 log4j.properties 的位置)和启动优先级:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>org.stephencat.test.InitServlet</servlet-class>
<init-param>
<param-name>relativePosition</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>logConfiguration</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
7. 在 org.stephencat.test.TestServlet (映射为 /test)中加入:
static Logger log = Logger.getLogger(TestServlet.class.getName());
8. 在 org.stephencat.cat.Test2Servlet(映射为 /test2)中加入:
static Logger log = Logger.getLogger(Test2Servlet.class.getName());
9. 重新启动 JBoss ,会出现如下错误消息:
11:53:21,549 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.appender.FileAppend
er" object is not assignable to a "org.apache.log4j.Appender" variable.
11:53:21,549 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" wa
s loaded by
11:53:21,549 ERROR [STDERR] log4j:ERROR [WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@dcc4e2
] whereas object of type
11:53:21,549 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender
" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@a97b0b].
11:53:21,549 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FI
LE".
这是因为自己的 log4j.jar 与 JBoss 的 log4jService 有点冲突,但这段错误消息实际上可以忽略
10. 访问以下网址:
http://localhost/..../test
http://localhost/..../test2
将分别在以下日志文件中输出日志内容:
D:/jboss-4.0.5.GA/server/default/log/configtest1.log
D:/jboss-4.0.5.GA/server/default/log/configtest2.log
文件名和物理路径可在 log4j.properties 中修改。
引用自:http://www.cnblogs.com/stephencat/archive/2006/12/04/581348.html
2. 编辑 D:\jboss-4.0.5.GA\server\default\conf 里面的 jboss-service.xml 找到
<!-- ==================================================================== -->
<!-- Log4j Initialization -->
<!-- ==================================================================== -->
<mbean code="org.jboss.logging.Log4jService"
name="jboss.system:type=Log4jService,service=Logging"
xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
<attribute name="ConfigurationURL">resource:log4j.xml</attribute>
<!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
this needs to be set to avoid a possible deadlock on exception at the
appender level. See bug#696819.
-->
<attribute name="Log4jQuietMode">true</attribute>
<!-- How frequently in seconds the ConfigurationURL is checked for changes -->
<attribute name="RefreshPeriod">60</attribute>
</mbean>
把 resource:log4j.xml 改为 resource:jboss-log4j.xml
3. 在自己的应用程序的 WEB-INF 目录中添加一个 jboss-web.xml 内容如下
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
ConfigTest:loader=ConfigTest.war
<loader-repository-config>java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
4. 把 log4j.jar 加到 build-path 中
5. 在自己的应用程序的 WEB-INF 目录中添加一个 log4j.properties 内容如下:
#Global variable definition
LOG_LEVEL=DEBUG
LOG_FILE1=D:/jboss-4.0.5.GA/server/default/log/configtest1.log
LOG_FILE2=D:/jboss-4.0.5.GA/server/default/log/configtest2.log
# com.microsoft Logger
log4j.logger.org.stephencat.test=${LOG_LEVEL}, logfile1
log4j.additivity.org.stephencat.test=false
# com.microsoft Logger
log4j.logger.org.stephencat.cat=${LOG_LEVEL}, logfile2
log4j.additivity.org.stephencat.cat=false
# Console Appender Definition
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %c(%t) %x:%m%n
#log4j.appender.stdout.layout.ConversionPattern=%-5p:[%d{MM/dd HH:mm:ss,SSS}] %c(%t) %x:%m%n
# File Appender Definition
log4j.appender.logfile1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile1.File=${LOG_FILE1}
log4j.appender.logfile1.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile1.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile1.layout.ConversionPattern=%-5p:[%d{ISO8601}] %c(%t) %x:%m%n
# File Appender Definition
log4j.appender.logfile2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile2.File=${LOG_FILE2}
log4j.appender.logfile2.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile2.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile2.layout.ConversionPattern=%-5p:[%d{ISO8601}] %c(%t) %x:%m%n
这里分别定义了两个命名控件:
logfile1 对应命名空间(Java 代码中的 package)org.stephencat.test.*
logfile2 对应命名空间 org.stephencat.cat.*
6. 建立一个用于初始化的 InitServlet ,配置如下方法:
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init(ServletConfig config) throws ServletException {
// Put your code here
String isRelativePosition = config.getInitParameter("relativePosition");
String logConfiguration = config.getInitParameter("logConfiguration");
String root = "";
if(isRelativePosition.equals("true")){
root = config.getServletContext().getRealPath("/");
}
PropertyConfigurator.configure(root + logConfiguration);
}
在 web.xml 配置这个 Servlet 的初始化参数(声明 log4j.properties 的位置)和启动优先级:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>org.stephencat.test.InitServlet</servlet-class>
<init-param>
<param-name>relativePosition</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>logConfiguration</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
7. 在 org.stephencat.test.TestServlet (映射为 /test)中加入:
static Logger log = Logger.getLogger(TestServlet.class.getName());
8. 在 org.stephencat.cat.Test2Servlet(映射为 /test2)中加入:
static Logger log = Logger.getLogger(Test2Servlet.class.getName());
9. 重新启动 JBoss ,会出现如下错误消息:
11:53:21,549 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.appender.FileAppend
er" object is not assignable to a "org.apache.log4j.Appender" variable.
11:53:21,549 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" wa
s loaded by
11:53:21,549 ERROR [STDERR] log4j:ERROR [WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@dcc4e2
] whereas object of type
11:53:21,549 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender
" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@a97b0b].
11:53:21,549 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FI
LE".
这是因为自己的 log4j.jar 与 JBoss 的 log4jService 有点冲突,但这段错误消息实际上可以忽略
10. 访问以下网址:
http://localhost/..../test
http://localhost/..../test2
将分别在以下日志文件中输出日志内容:
D:/jboss-4.0.5.GA/server/default/log/configtest1.log
D:/jboss-4.0.5.GA/server/default/log/configtest2.log
文件名和物理路径可在 log4j.properties 中修改。
引用自:http://www.cnblogs.com/stephencat/archive/2006/12/04/581348.html
发表评论
-
JPA 无法加载独立JAR包中实体映射文件 unkonwn entity
2013-02-05 11:22 2161在实际的项目中,原先大的项目,需要按业务功能拆分成小功能, ... -
chrome 来自服务器的响应包含重复标头。此问题通常是由于网站或代理配置不正确导致的。只有网站或代理管理员才能解决此问题
2012-03-27 09:54 9539今天项目中用到了写入流下载。代码如下。 Htt ... -
Server returned HTTP response code: 500
2012-03-16 12:54 13180今天做项目,需要跟第 ... -
tomcat启动报错 java.net.SocketException: select failed
2012-01-14 08:51 4116tomcat起动报错. java.net.SocketExc ... -
jvm设置
2011-11-19 14:31 1002经常运用开发工具,会遇到内存不足的问题,一个是ECLIPSE ... -
MIME 类型
2009-12-18 11:18 1093转自:http://www.wilf.cn/post/MIME ... -
webwork java.lang.reflect.InvocationTargetException
2009-08-31 09:05 2428exception javax.ser ... -
aptana studio 1.2.3 破解
2009-08-04 09:48 1611对于JS的开发和调试,网上很多人都说APTANA这个工具不错, ... -
tomcat异常: Cannot get a connection, pool exhausted
2009-05-31 14:10 7808项目运用当中,在tomcat 中的 conf/server.x ... -
webwork:Disabling the response for futher output,
2009-05-15 14:00 4034异常: Disabling the response fo ... -
The processing instruction must begin with the nam
2009-03-24 10:18 2788出现异常如下: file:/E:/workspac ... -
apache 的 common-fileupload-1.2.1.jar
2009-03-14 16:11 5234最近热衷于学习源码, ... -
严重: Exception starting filter struts2
2009-03-11 14:48 10249异常情况如下: 严重: Exception starti ... -
no Action mapped for namespace / and action name
2009-03-10 10:32 5468问题异常如下: 警告: Could not find a ... -
xp 下安装cvsnt2.5
2009-02-26 22:32 2371今天因为业务需要,在服务器上安装CVSNT2。5版本控制器。以 ... -
在配置proxool联接池时,houseKeepingSleepTime属性不能设置
2008-12-07 11:05 8065本人在配置PROXOOL联接池时,发现一个奇怪的事情。。 ... -
学习简单工厂模式
2008-11-23 15:42 979简单工厂模式是类的创建模式,又叫静态工厂方法模式(static ... -
用命令行jar 打包
2008-11-07 16:52 1512还是接上面的例子。 1.在工程 f:\workspace\ ... -
命令行运行 java类
2008-11-07 14:10 3101在做了很久的项目之后,经常会有新手问起,在命令行下,怎么编译运 ... -
解析XML
2008-10-24 14:21 1223最近做项目中,遇到一个难题,对方提供一个接口,接到的是一个20 ...
相关推荐
【JBoss4.0中文版.pdf】是一本详细介绍JBoss应用服务器4.0版本的中文教程,涵盖了从基础到高级的各类主题,旨在帮助读者快速掌握JBoss的使用和管理。该书的主要内容可能包括以下几个方面: 1. **JBoss简介**:JBoss...
《JBoss 4.0 The Official Guide》是JBoss应用服务器使用的一本权威指南,针对的是4.0版本,这是JBoss的一个重要里程碑。这本书详细介绍了如何配置、管理和部署Java EE应用程序在JBoss上,是开发者、系统管理员以及...
### jBoss下通过配置Log4j实现Web应用的日志管理 #### 一、Log4j简介与重要性 Log4j是一款广泛使用的Java日志框架,由Apache软件基金会开发维护。它提供了一种灵活的方式来控制应用程序日志的生成,允许开发者...
3. **日志管理**: 通过`server/default/conf/log4j.xml`配置日志级别和输出位置,优化性能。 ### 六、JBoss 4.0 源码分析 1. **源码获取**: 通过Git或SVN从官方仓库获取源代码,有助于深度学习和定制。 2. **调试...
标题与描述概述的知识点主要围绕JBoss 4.0这一版本的应用服务器,特别是其作为一本中文的详尽教程,旨在帮助读者深入理解JBoss 4.0及其在J2EE 1.4环境下的应用。以下是对这些知识点的详细解析: ### JBoss 4.0简介 ...
8. **热部署与热更新**:JBoss 4.0支持在不中断服务的情况下更新应用,这是开发过程中非常实用的功能。 9. **日志与调试**:了解如何配置和使用JBoss的日志系统,以及如何进行服务器的故障排查和性能优化。 10. **...
然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,配置 Log4j,及 Log4j 的基本使用方法。 解决 JBOSS 和 Log4j 冲突的配置 为了解决 JBOSS ...
本文将深入探讨如何通过配置`log4j.xml`文件来控制日志输出,特别是在JBOSS环境下针对Hibernate的日志输出进行优化。 #### 二、Log4j与Hibernate日志控制 ##### 1. 日志输出过多的问题 在JBOSS环境中运行应用程序...
An Introduction to JMX Jboss Class Loading and Types 讲述了Jboss所使用的技术和配置,是学习Jboss机制的不错资料
在JBoss 4.0环境下配置MySQL数据源的步骤涉及多个环节,主要是为了确保JBoss应用服务器能够正确地连接和操作MySQL数据库。以下是对每个步骤的详细解释: **步骤一:添加MySQL JDBC驱动** 首先,你需要获取适用于...
在使用"jboss-4.0.5.GA.zip"这个压缩包时,用户需要先将其解压,然后按照官方文档或者社区教程进行配置,包括但不限于设置环境变量、配置服务器端口、部署应用程序等步骤。在开发和部署过程中,理解并掌握上述知识点...
- JBoss自带默认的log4j配置,因此在JBoss上使用log4j需要特别注意与默认配置之间的冲突。 - 当项目中包含log4j配置文件时,可能会影响JBoss原有的日志输出行为。例如,如果项目中的配置文件包含了Console ...
在Web项目中使用Log4j时,通常会遇到一些特定场景和技术栈的选择问题,比如如何与Spring框架结合使用,以及如何在不同的服务器环境下(如Tomcat、JBoss)配置Log4j等。 ##### 2.1 Web项目中的Log4j配置 - **基本...
### Linux下配置JBoss自动启动(JBoss V4.0) #### 概述 在Linux环境中,JBoss作为一款广泛使用的应用服务器,在企业级开发中扮演着重要角色。为了提高系统的稳定性和可用性,通常会将JBoss配置为开机自启动服务。...
### JBoss Log4j知识点详解 #### 一、引言 JBoss Log4j 是一个为 JBoss 应用服务器定制的日志记录...通过学习这些知识点,您可以更深入地理解如何在 JBoss 应用服务器环境中高效地使用 Log4j 来进行日志记录和管理。
本教程将详细介绍如何在MyEclipse中配置和调试EJB组件,以便在JBoss 4.0上运行。 ### 一、MyEclipse EJB项目创建 1. **启动MyEclipse**:打开MyEclipse,选择“File” > “New” > “Dynamic Web Project”,在弹...
Slf4j提供了一个统一的API,使得开发人员能够在不更换日志实现的情况下,轻松地切换不同的日志框架,如Log4j、Java Util Logging (JUL) 或者Logback。 **日志框架的核心概念** 1. **Logger**: 日志系统的核心组件...
赠送jar包:jboss-websocket-api_1.1_spec-2.0.0.Final.jar; 赠送原API文档:jboss-websocket-api_1.1_spec-2.0.0.Final-javadoc.jar; 赠送源代码:jboss-websocket-api_1.1_spec-2.0.0.Final-sources.jar; 赠送...