ehanmqi@CN00202245 /C/Ericsson/maworkspace_15/Hello/lib
$ pwd
/C/Ericsson/maworkspace_15/Hello/lib
ehanmqi@CN00202245 /C/Ericsson/maworkspace_15/Hello/lib
$ ls -l
total 265
-rw-r--r-- 1 ehanmqi Administ 489884 Jun 16 15:27 log4j-1.2.17.jar
-rw-r--r-- 1 ehanmqi Administ 41071 Jun 16 15:24 slf4j-api-1.7.21.jar
-rw-r--r-- 1 ehanmqi Administ 9988 Jun 16 15:24 slf4j-log4j12-1.7.21.jar
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.slf4j.Logger;
public class TestClassLoader2 {
private static Logger logger;
/**
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(TestClassLoader2.class.getClassLoader());
//URL url = new File("C:/Users/ehanmqi/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar").toURI().toURL();
File file = new File("C:/Ericsson/maworkspace_15/Hello/lib");
URLClassLoader loader = loadJar(file.listFiles());
Class c = loader.loadClass("org.slf4j.LoggerFactory");
//c.getMethod("getLogger", Class.class).invoke(null, TestClassLoader2.class);
logger = (Logger) c.getMethod("getLogger", Class.class).invoke(null, TestClassLoader2.class);
logger.debug("sdfsf");
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static URLClassLoader loadJar(File[] fileArray) throws Exception{
URL[] urlarray = new URL[fileArray.length];
int i=0;
for(File f : fileArray){
URL url = f.toURI().toURL();
urlarray[i]=url;
i++;
}
URLClassLoader loader = new URLClassLoader(urlarray, TestClassLoader2.class.getClassLoader());
//loader.loadClass("org.apache.log4j.net.JMSSink");
for(File f : fileArray){
JarFile jarfile = new JarFile(f);
Enumeration<JarEntry> jarEntry = jarfile.entries();
while(jarEntry.hasMoreElements()){
JarEntry je = jarEntry.nextElement();
if(je.getName().endsWith(".class")){
//System.out.println(je.getName());
String classpath = je.getName().replaceAll("/", ".").replaceAll(".class", "");
if(!classpath.equals("org.apache.log4j.net.JMSSink")){
continue;
}else if(!classpath.equals("javax/mail/Authenticator".replace("/", "."))){
continue;
}
loader.loadClass(classpath);
}
}
}
return loader;
}
}
相关推荐
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。Log4j 框架是用 Java 语言编写的标准日志记录框架。通过配置,可以创建出Log4J的...
java 日志log4j加载 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构,理解类加载器:J2EE 环境下的 log4j.files
但JCL本身存在性能问题和类加载器问题。 为解决这些问题,SLF4J(Simple Logging Facade for Java)应运而生。它不仅提供了一个更为简洁高效的日志门面,还通过各种适配器支持了众多日志实现,如log4j、logback等。...
下载之后您只需要1.根据实体类创建数据库 2.jdbc.property填写正确 3.项目加载 运行 这里你将学习到: 前台: 公共类库 Juqery 公共组件 表格:jqueryeasyui datagrid ...11 利用log4j输出程序日志 12 无刷新翻页
数学表达式解析器4 Java MEP4J是用于Java的高性能数学表达式字符串解析器(J2SE> = 5)。 将其与同类库的性能进行比较,并让我知道您的经验。 该库管理5个运算符(+,-,/,%,*)以及以下功能:-“ abs”-“ cos”...
struts2 相关包-------------------------------------------------- xwork-2.0.5.jar webwork的核心库 ognl-2.6.11.jar OGNL...slf4j-log4j12-1.5.0.jar slf4j log4j支持包 log4j-1.2.15.jar slf4j-api-1.5.0.jar
│ ch09.rar 类加载器(实例演示) │ ch12.rar FORM验证登录文件,BASIC验证配置文件,Realm配置代码 │ ch13.rar Tomcat阀的使用(实例演示) │ ch14.rar JDBC资源(实例演示) │ ch17.rar 将Tomcat...
功能包括:功能日志记录(访问、参数、异常、返回结果集)、数据日志记录、日志查询... 日志记录:以JSON格式输出日志,通过log4j配置日志文件输出方式。 日志查询:提供servlet加载日志文件,前台JSON处理查询对照。
2.2.8日志配置,配置log4j.xml 18 2.2.9配置contentType及charset,TOMCAT5.0下JSP统一配置 19 2.3 JVM最小、最大内存的设定 21 2.4 OS字符集问题 21 2.5 JBOSS服务的启动、停止 21 3.附apache https 服务器的...
日志记录:以JSON格式输出日志,通过log4j配置日志文件输出方式。 日志查询:提供servlet加载日志文件,前台JSON处理查询对照。 详细作用说明参考:http://jingyan.baidu.com/edit/content?type=draft&did=3
将Spring默认日志记录配置为在资源中使用log4j2.xml 为Felix框架添加一种在内部环境中使用Spring引导属性的方法 费利克斯 创建FelixService作为Spring Service Component和ApplicationReadyEvent事件侦听器以对其...
一个基于EXT实现的树,先上图。...1 导入 commons-logging-1.1.jar log4j-1.2.14.jar 2 写log4j.properties 3 在代码中使用方式 static Log log = LogFactory.getLog("Action类"); log.debug("result is " + result);
1.6.4 第三步:log4j.properties 6 1.6.5 第四步:SqlMapConfig.xml 6 1.6.6 第五步:po类 7 1.6.7 第六步:程序编写 8 1.6.8 Mybatis解决jdbc编程的问题 15 1.6.9 与hibernate不同 16 2 Dao开发方法 16 2.1 需求 16...
问题一箩筐-关于打印日志log4j问题5 y: }- e: Z$ p6 X9 d0 A9 @ │ 7.问题一箩筐-生产环境模拟, y; v4 Z% p0 }& I+ X* B) t# j │ 8.问题一箩筐-相对路径和绝对路径 │ 9.问题一箩筐-自定义监听器,解决上下文路径...
3.3 log4j.properties 日志文件 不用修改 3.4 修改spring-mvc 文件 .1 修改controller包的自动扫描注解,如图 2 定义jsp文件存放的路径 <property name="prefix" value="/jsp/" /> 如图 3.5修改spring-mabtis...
4.log4j 5.junit 6.token权限验证 7.session超时处理和httpsession监听器 8.bootstarp-Admin框架 9.记录登录者信息,存储在mongodb中.(使用到百度地图api中的IP精确定位) 已包含工具类: 1.ID生成器 2.日期处理 3....
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
clj-hbase 这是一个用于 hbase 0.98.3 的小型且仍然不完整的 clojure 包装器 用法 假设我们有一个带有列族“byte-data...log4j:WARN No appenders could be found for logger ( org.apache.hadoop.metrics2.lib.Mutabl
本文介绍了Listener以下几个方面的内容: · Listener的定义与作用 · Listener的分类与使用 ... Spring使用Log4jConfigListener配置Log4j日志 Spring使用IntrospectorCleanupListener清理