log4j:ERROR Could not parse file [sr/com/dk/logtest/log4j.xml].
java.io.FileNotFoundException: F:\MyEclipseBHInformationSystemJavaDevelopWorkSpace\JDKLogTest\sr\com\dk\logtest\log4j.xml (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
这个问题比较纠结,但是很明显是路径读取不对的问题而导致异常的出现。
我们看一看我们的源码怎么写的:
贴上来方法:
public static void logTest() {
// DOMConfigurator读取配置文件
DOMConfigurator.configure("/com/dk/logtest/log4j.xml");
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
if(log.isInfoEnabled()){//如果info可用
log.info("开始计算(i="+i+") * (j="+j+")次运算.");//连接字符串输出
}
}
}
}
这个路径觉得错误 ,我们该怎么办,前面添加src 现在路径改为:
DOMConfigurator.configure("src/com/dk/logtest/log4j.xml");
OK!解决。就这么简单。
值得一提的是,网上很多解决方法实在是太烂了。竟然还让我写个servlet 然后在获取本地路径 。让我走了不少弯路的。唉。无言。
分享到:
相关推荐
Log4j是一个广泛使用的...总结来说,Log4j中的相对路径问题可以通过系统属性、环境变量或动态配置来解决,确保日志文件能够在不同环境中被正确写入。这样的灵活性使得开发者无需频繁修改配置,提高了代码的可移植性。
4. `<listener>`标签引入了`org.springframework.web.util.Log4jConfigListener`监听器,这个监听器会在Web应用启动时读取`log4jConfigLocation`指定的配置文件,并初始化Log4j。 接下来,我们来看`log4j....
2. **配置全局 Log4j 属性文件**:在任意位置创建 `log4j.properties` 文件,并设置全局的日志级别、输出格式及存储路径等。通常会将该文件放置在 Tomcat 的 `conf` 目录下。 ```properties log4j.rootLogger=...
根据Log4j的规则,日志系统只会输出不低于当前设定级别的日志信息。例如,如果设定级别为INFO,则只会记录INFO、WARN、ERROR和FATAL级别的信息,而不会记录DEBUG级别的信息。 Appender组件负责指定日志输出的目标。...
这样,当Tomcat服务器启动时,会自动读取并应用指定的Log4j配置,从而为整个应用提供日志服务。 在Struts2框架中,由于它集成了Log4j,你可以通过配置Struts2的配置文件(如`struts.xml`)来进一步控制日志行为,...
要实现输出多个自定义路径的日志文件,我们需要在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中定义多个Appender。Appender是Log4j中负责将日志信息输出到指定目的地的组件,例如文件、控制台、网络...
例如,在配置文件中指定的日志文件路径`log4j.appender.logfile.File=set up in web.xml`,这里的“set up in web.xml”实际上是指在`web.xml`中指定的日志文件路径,而这个路径也是相对于项目的根目录。 #### 总结...
在使用`slf4j-log4j12-1.6.6.jar`时,开发者首先会通过SLF4J API在代码中记录日志,然后在运行环境中通过配置文件(如log4j.properties或log4j.xml)指定日志输出的策略。例如,开发者可以设置日志级别,控制哪些...
创建一个`log4j.properties`或`log4j.xml`配置文件,指定日志级别、输出格式、日志文件位置等。以下是一个简单的`log4j.properties`示例: ```properties # log4j.properties log4j.rootLogger=INFO, FILE, CONSOLE...
这篇文档将深入探讨Java中如何使用jxl.jar库进行Excel文件的读写操作,解析XML文件,以及关于log4j的日志记录系统和文件的上传下载笔记。在现代的IT环境中,这些技能对于数据处理、日志管理和系统交互至关重要。 ...
Log4j是一个强大的日志处理库,它允许开发者通过配置文件(如log4j.properties或log4j.xml)来定制日志记录级别、输出格式和目的地。通常,开发者不希望将日志配置文件打包到JAR中,因为这样可以方便地在生产环境中...
4. **配置器**: 配置文件(如log4j.properties或log4j.xml)使用了基于XML或Properties的配置方式,体现了配置器模式,使得日志配置灵活可变。 四、源码解析 在log4j-1.2.13源码中,我们可以看到以下几个关键部分...
logstash采集log4j日志发送到es配置文件,可以把日志根据日志级别区分开,一个级别一条日志是es中的一条数据
综上所述,"log4j-core-2.7.zip"的引入是为了解决Struts2框架的日志需求,而`log4j2.xml`的配置则让日志行为更具针对性。在实际项目中,理解并熟练运用Log4j2的配置和功能,对于优化开发流程和问题排查至关重要。
在Java开发领域,Spring框架是不可或缺的一部分,它提供了一个全面的编程和配置模型...通过合理配置`log4j.properties`文件,开发者可以有效地监控系统状态,及时发现并解决问题,同时避免过多的日志输出影响系统性能。
6. **org.apache.log4j.PropertyConfigurator**:用于从属性文件中读取配置并初始化Log4j。 五、实际应用与最佳实践 在实际项目中,合理使用Log4j可以帮助调试、监控和分析程序运行状态。以下是一些最佳实践: 1....
日志级别管理是Log4j的核心功能之一,通过设置不同的级别,可以在不影响程序运行的情况下,灵活控制日志的输出级别,平衡信息的详细程度和性能。 通过对Log4j 2.11.0源码的深入研究,开发者不仅可以掌握其基本用法...
为了解决这个问题,我们需要引入一个桥接包来桥接SLF4J和Log4j: 1. 创建配置文件:与之前一样,放置`log4j.xml`或`log4j.properties`在SRC目录下。 2. 添加依赖:除了`log4j-1.2.15.jar`之外,还需要添加`slf4j-...