log4j配置之后出现错误 20

//////这一行是错误提到的16行privatestaticLoggerlogger=Logger.getLogger(filter.class);//////下面是错... //////这一行是错误提到的16行
private static Logger logger = Logger.getLogger(filter.class);
//////下面是错误提示信息
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message
at test.filter.<clinit>(filter.java:16)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.message.Message
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
////////完整的代码如下
package test;

import java.io.FileWriter;
import java.io.IOException;

import org.apache.log4j.Logger;

/**
* 删除无用的URL,用于在数据库抽取数据后
*
*/
public class filter {

private static Logger logger = Logger.getLogger(filter.class);
public static void queryActiveUserID(int activeDayCount) throws IOException {

String resultFileName = "result";
char[] ch = {'a','s','d'};

FileWriter fileWriter = new FileWriter(
resultFileName, true);
fileWriter.write(ch);
fileWriter.close();
System.out.println("over!");

}

public static void main(String args[]) throws IOException{
logger.debug("This is debug message.");
filter.queryActiveUserID(0);
}

}
展开
 我来答
金山毒霸 2024-10-31
展开全部

大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。

解决方法如下:

一、 手动解决方法

1、先确定电脑操作系统是多少位的,现在的电脑一般都是64的操作系统,少数还在用32位的操作系统;

2、安装DirectX 9.0c

通过搜索引擎查找DirectX 9.0c安装包,并完成安装;

3、Visual C ++ 2005、2008、2010运行时库

通过搜索引擎查找“Visual C ++ 2005、2008、2010、2013”运行库安装包,并完成安装;

4、安装.net运行库

通过搜索引擎查找“.net framework 4.0”运行库安装包,并完成安装。

5、安装MSXML

MSXML是微软的XML语言解析器,用来解释XML语言的。

通过搜索引擎查找,并完成安装。

以上运行库都安装完成后,重启电脑即可;

二、 快速修复方法

新用户建议使用修复工具,非常方便、快捷,一键就可以完成DirectX、Visual C ++、net库等的下载安装,省时省力。

具体操作如下:

1、点击下载修复工具。

2、启动软件,点击“金山毒霸医生”功能;

3、点击“DLL缺失问题”;

4、点击“一键修复”,即可自动安装当前电脑中缺失的各种dll文件;

5、等待修复完成,重启电脑即可;

三、 AI智能修复

不知道怎么修复,可以请教AI智能诊断,只需要将错误码输入,就会告诉你,错误码出现的原因,以及解决方法,具体操作如下:

1、点击下载AI智能诊断工具。

2、安装并启动软件,在智能问诊中输入错误代码,如下:

0xc0000094

3、智能AI会给出解决方案,动手能力强的小伙伴,可以根据操作指示,进行修复,如果操作比较繁琐,可以直接找右侧专家,一对一解决问题。


王律师案件普法

2018-04-08 · TA获得超过35.9万个赞
知道大有可为答主
回答量:374
采纳率:89%
帮助的人:33.7万
展开全部

步骤:

1、在Maven的porn.xml 文件中添加dependency如下。之后就会添加三个包。

2、之后在项目下添加log4j.properties。

3、在web.xml中加入代码。

4、 使用方法。

5、接下来就能输出了。

6、输出如下。

下面是log4j.properties的配置信息:

1、#输出格式

2、#%m 输出代码中指定的消息

3、#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

4、#%r 输出自应用启动到输出该log信息耗费的毫秒数

5、#%c 输出所属的类目,通常就是所在类的全名

6、#%t 输出产生该日志事件的线程名

7、#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

8、#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921。

9、#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)。

二、格式化例子:

1、log4j.appender.thisProject.file.out.layout.ConversionPattern=log4j-->%d{yyyy MMM dd HH:mm:ss,SSS}%5p{%F\:%L}-%m%n。

三、注意:

1、信息格式化的小知识
这些参数中间可能会参杂一些数字比如:%5p它的意思就是在输出此参数之前加入多少个空格,还有就是里面的“\”的作用是转义字符

2、log4j.properties文件放置位置

(1)在java project项目中,它放置的位置是在项目的根目录下而不是在项目的src目录下。

(2)在javaweb项目中它放置的位置是在src目录下,因为这个时候tomcat会去默认的加载它的,不需要我们去手动的加载log4j的配置文件,只需要根据配置获取自己需要的logger实例即可,由此我们可以知道如果我们使用的不是tomcat容器的话,是不是需要自己手动加载或者至少要配置一下呢?比如使用Websphere等非apache服务器。

3、对于Java Web项目里面的日志的位置配置

(1)如果是要指定日志文件的位置为D盘下的log.txt文件。 log4j.appender.thisProject.file.out.File=d:\\log.txt。

2)如果指定日志文件的位置为当前的tomcat的工作目录下的某个文件log4j.appender.thisProject.file.out.File=${catalina.home}/logs/logs_tomcat.log

4、log4j的加载机制

(一) log4j.properties加载机制?其实log4j.properties只是log4j的配置文件。程序启动时,log4j组件去读log4j.properties,和读取普通配置文件没多大区别。获取用户配置的一些log4j的属性值,调用想应该的方法为log4j属性设置。

(二)把log4j.properties当作一个struts.xml或者一个hibernate-cfg.xml就可以了。但不同的是,log4j不像struts和hibernate,它不是一个独立的组件,没法自己完成初始化,一般都是什么组件需要它 就去初始化。比如,hibernate默认的日志组件就是log4j,在hibernate初始化的时候它会去初始化log4j。如果你没配置log4j.properties,hibernate会抛出异常,但还是可以正常初始化。

金山毒霸
2024-10-31 广告
大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的电脑一般都... 点击进入详情页
本回答由金山毒霸提供
杜申克
2014-05-04
知道答主
回答量:21
采纳率:0%
帮助的人:7.5万
展开全部
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message 这个是缺少相应的jar包 但是log4j 中貌似没有这个类吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友090def6
推荐于2017-11-26 · TA获得超过2211个赞
知道小有建树答主
回答量:558
采纳率:100%
帮助的人:700万
展开全部
异常信息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message
表示你的log4j.jar包没有引入工程,请检查下
更多追问追答
追问
怎么才叫引入工程?
我已经在java buildpath里add jars 添加了这两个包 一个log4j api 一个是log4j core
追答

不需要那2个jar,只要log4j.jar即可

上传一个给你,就按你的方式加(这个就叫引入)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lecroy03
2016-12-15 · TA获得超过313个赞
知道小有建树答主
回答量:240
采纳率:100%
帮助的人:142万
展开全部
org/apache/logging/log4j/message/Message
这是log4j 2.x的,而log4j 2.x用的LogManager.getLogger(),而不是Logger.getLogger()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式