在做iOS apns push时使用到log4j,首次运行出现log4j错误,部分信息如下
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly
解决方法是:在src 目录下创建LOG4J 的配置文件log4j.properties,文件内容如下:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
配置文件信息:
常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子:
一、log4j.properties
### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ##
log4j.category.org.zblog=ERROR,A1
log4j.category.org.zblog=INFO,A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
### 设置输出地A1,为ConsoleAppender(控制台) ##
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
### 设置A1的输出布局格式PatterLayout,(可以灵活地指定布局模式)##
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
### 配置日志输出的格式##
log4j.appender.A2=org.apache.log4j.RollingFileAppender
### 设置输出地A2到文件(文件大小到达指定尺寸的时候产生一个新的文件)##
log4j.appender.A2.File=E:/study/log4j/zhuwei.html
### 文件位置##
log4j.appender.A2.MaxFileSize=500KB
### 文件大小##
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
##指定采用html方式输出
二、log4j.xml
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道ID:org.zblog.all和输出方式:org.apache.log4j.RollingFileAppender -->
<param name="File" value="E:/study/log4j/all.output.log" /> <!-- 设置File参数:日志输出文件名 -->
<param name="Append" value="false" /> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" /> <!-- 设置输出文件项目和格式 -->
</layout>
</appender>
<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="E:/study/log4j/zhuwei.output.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="10240" /> <!-- 设置文件大小 -->
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
</layout>
</appender>
<logger name="zcw.log"> <!-- 设置域名限制,即zcw.log域及以下的日志均输出到下面对应的通道中 -->
<level value="debug" /> <!-- 设置级别 -->
<appender-ref ref="org.zblog.zcw" /> <!-- 与前面的通道id相对应 -->
</logger>
<root> <!-- 设置接收所有输出的通道 -->
<appender-ref ref="org.zblog.all" /> <!-- 与前面的通道id相对应 -->
</root>
</log4j:configuration>
三、配置文件加载方法:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
public class Log4jApp {
public static void main(String[] args) {
DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件
//PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件
Logger log=Logger.getLogger("org.zblog.test");
log.info("测试");
}
}
感谢hehongwei44
相关推荐
本文将详细探讨Log4j配置文件中的关键组成部分及其配置方式。 #### 二、配置文件基本结构 Log4j的配置文件可以通过两种主要格式定义:`properties`格式和`XML`格式。下面以`properties`格式为例进行介绍: ```...
**二、Log4j配置文件** 在压缩包中,还包含了一份名为`log4j.properties`的配置文件。这是Log4j使用的一种配置格式,基于Java Properties格式。配置文件决定了日志信息如何输出、输出到哪里,以及日志的级别等关键...
接下来,`log4j配置说明.txt`文件通常会提供更详细的解释和示例,包括如何配置不同的appender(如FileAppender、RollingFileAppender等),如何定义不同logger的级别,以及如何使用自定义的error handler和filter。...
6. **配置文件结构**:`log4j.properties`文件通常采用键值对的形式,如`log4j.rootLogger=DEBUG, Console, File`表示根Logger的日志级别为DEBUG,并将其输出到Console和File两个Appender。Appender的配置会紧接着...
### Log4j配置文件详解 #### 一、Log4j简介与优势 Log4j是Apache组织提供的一个开源日志框架,广泛应用于Java环境中。它提供了强大的日志管理能力,帮助开发者灵活控制日志信息的生成流程。Log4j的核心优势在于: ...
Log4j配置文件(log4j.properties) Log4j的配置通常在`log4j.properties`文件中进行,以下是一些常见的配置选项: - **rootLogger**:定义日志器的默认行为,包括级别和appender。 ```properties log4j.root...
加载配置文件是初始化Log4j的第一步,这可以通过`PropertyConfigurator.configure()`或`DOMConfigurator.configure()`方法完成。 5. **实例化Logger** 创建并使用Logger对象是实际记录日志的关键步骤。通过`...
本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...
总结来说,Log4j是Java应用中不可或缺的工具,它通过`log4j.properties`配置文件实现了强大的日志管理,使得开发者能够轻松控制日志输出,提升开发效率,同时对系统运行状态进行有效监控。理解并熟练掌握Log4j的配置...
log4j的主要优势在于其灵活性和可扩展性,允许用户通过配置文件自定义日志记录的方式,无需修改应用程序代码。 #### 二、日志记录的目的 在应用程序中记录日志主要有以下三个目的: 1. **监视代码中变量的变化...
标题提到的是"log4j(内含log4j的jar包和log4j的配置文件:有DEBUG和INFO两种)",这表明我们讨论的是一个关于日志管理的工具——Log4j,它是一个广泛使用的Java日志框架。其中包含的jar包是Log4j的运行库,而配置文件...
**Log4j配置文件** 在"压缩包子文件的文件名称列表"中没有具体的配置文件,但通常来说,Log4j的配置文件名为`log4j.properties`或`log4j.xml`。以下是一个简单的`log4j.properties`配置示例: ``` # 设置root ...
Log4j配置文件** Log4j的配置主要通过一个名为`log4j.properties`或`log4j.xml`的配置文件进行。这个文件定义了日志的行为,包括日志级别、输出目的地、格式等。下面是一个简单的`log4j.properties`配置示例: ```...
### Log4j配置文件基本含义说明 #### 一、引言 Log4j是一款非常流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录功能,帮助开发者有效地跟踪应用程序的行为和状态。为了更好地理解和...
### log4j配置与使用方法 #### 一、log4j简介 log4j是Apache的一个开源项目,通过使用log4j,开发者能够控制日志信息的生成、等级以及输出的目的地。它允许用户根据不同的环境调整日志的级别,从而帮助开发者在...
Log4j的配置通常通过一个XML或properties格式的配置文件完成,例如`log4j.properties`或`log4j.xml`。以下是一个基本的`log4j.properties`配置示例: ```properties # 设置根日志器的级别为INFO log4j.rootLogger=...
配置文件是Log4j的关键,通常命名为`log4j.properties`或`log4j.xml`。这个文件定义了Log4j的行为,包括设置Logger的级别、定义Appender及其Layout,以及Appender之间的过滤策略。例如,你可以设置一个Appender只...
`log4j.txt`很可能是Log4j的配置文件,它定义了日志如何被记录、格式化以及存储的位置。而`log4j日志文件路径的配置.txt`则可能专注于说明如何配置日志输出的路径,这是确保日志文件正确保存和管理的重要部分。 在`...
log4j.xml配置文件遵循XML格式,主要由以下几部分组成: 1. **文档声明**:用于声明当前XML文档的版本和编码方式。 - `<xml version="1.0" encoding="UTF-8"?>` 2. **DTD声明**:用于引用外部DTD文件来定义XML...