- 浏览: 1789758 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
奔跑的小牛:
例子都打不开
如何使用JVisualVM进行性能分析 -
蜗牛coder:
好东西[color=blue][/color]
Lucene学习:全文检索的基本原理 -
lovesunweina:
不在haoop中是在linux系统中,映射IP的时候,不能使用 ...
java.io.IOException: Incomplete HDFS URI, no host -
evening_xxxy:
挺好的, 谢谢分享
如何利用 JConsole观察分析Java程序的运行,进行排错调优 -
di1984HIT:
学习了~~~
ant使用ssh和linux交互 如:上传文件
<!-- ========================== 自定义输出格式说明================================ -->
<!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->
<!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数 -->
<!-- #%c 输出所属的类目,通常就是所在类的全名 -->
<!-- #%t 输出产生该日志事件的线程名 -->
<!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->
<!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 -->
<!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) -->
<!-- ========================================================================== -->
配置文件可以是:.properties或者是.xml文件。具体怎么配置这里不做详细介绍,只是为了提供例子
第一种是.properties文件方法:
下面是初始化Log4j:
import org.apache.log4j.PropertyConfigurator;
public class Log4jPropertiesConfig
...{
/** *//**
* @param args
*/
private static Log4jPropertiesConfig instance;
/** *//**
* 读取配置文件
*/
private Log4jPropertiesConfig()
...{
PropertyConfigurator.configure(Log4jPropertiesConfig.class.getResource("log4j.properties"));
}
/** *//**
* @return 单例模式
*/
public static synchronized Log4jPropertiesConfig initia()
...{
if (instance == null)
...{
return new Log4jPropertiesConfig();
}
return instance;
}
}
下面是配置文件:
##日志级别,以及日志类型名称
#如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL
#被输出,DEBUG,INFO将被屏蔽掉.
log4j.rootLogger=INFO, A1, A2
# A1 is set to be ConsoleAppender sending its output to System.out
#log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
#ConsoleAppender输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apche.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.HTMLLayout(以HTML表格形式布局),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# The conversion pattern consists of date in ISO8601 format, level,
# thread name, logger name truncated to its rightmost two components
# and left justified to 17 characters, location information consisting
# of file name (padded to 13 characters) and line number, nested
# diagnostic context, the and the application supplied message
## 输出格式
#灵活定义输出格式 具体查看log4j javadoc org.apache.log4j.PatternLayout
#d 时间 ....
log4j.appender.A1.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
# Appender A2 writes to the file "testlog".
#A2 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.A2=org.apache.log4j.RollingFileAppender
#日志文件的大小
log4j.appender.A2.MaxFileSize=1MB
# 保存5个备份文件
log4j.appender.A2.MaxBackupIndex=5
log4j.appender.A2.layout=org.apache.log4j.TTCCLayout
##设置File参数:日志输出文件名
log4j.appender.A2.File=testlog.log
# Truncate 'test' if it aleady exists.
log4j.appender.A2.Append=false
# Appender A2 uses the PatternLayout.
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} %-5r %-5p [%t] %c{2} - %m%n
第二种是使用XML文件:
初始化Log4j:
import org.apache.log4j.xml.DOMConfigurator;
public class Log4jXMLConfig
...{
/** *//**
* @param args
*/
private static Log4jXMLConfig instance;
private Log4jXMLConfig()
...{
DOMConfigurator.configure(Log4jXMLConfig.class.getResource("log4j.xml"));
}
public static synchronized Log4jXMLConfig initia()
...{
if (instance == null)
...{
return new Log4jXMLConfig();
}
return instance;
}
}
下面是配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- 输出到日志文件 -->
<appender name="filelog"
class="org.apache.log4j.RollingFileAppender">
<!-- 设置File参数:日志输出文件名 -->
<!-- D:/LOG/com.log -->
<param name="File" value="out.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<!-- 设置文件大小 -->
<param name="MaxFileSize" value="100KB" />
<!-- 设置文件大小 -->
<param name="MaxBackupIndex" value="10" />
<!-- 设置输出文件项目和格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
</layout>
</appender>
<!-- 输出到控制台中 -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-5p: %m%n" />
<!-- "%-5p: [%t] [%c{3}.%M(%L)] | %m%n" -->
</layout>
</appender>
<!-- 设置类名限制输出的通道 -->
<category name="com.test1" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
<appender-ref ref="filelog" />
</category>
<!-- 设置类名限制输出的通道 -->
<category name="org.springframework" additivity="false">
<level value="OFF" />
<appender-ref ref="console" />
<appender-ref ref="filelog" />
</category>
<!-- 设置类名限制输出的通道 -->
<category name="org.cjj" additivity="false">
<level value="INFO" />
<appender-ref ref="console" />
<appender-ref ref="filelog" />
</category>
<!-- 设置接收所有输出的通道 -->
<root>
<level value="INFO" />
<appender-ref ref="console" />
<appender-ref ref="filelog" />
</root>
</log4j:configuration>
这个测试工程可以在下面下载:下载(还有个方案读取XML文件时不需要模式(schema)验证,也在这个测试工程里面)
发表评论
-
如何使用JVisualVM进行性能分析
2011-09-25 22:32 84980地址:https://visualvm.dev.java.ne ... -
JDK5中的concurrent包、线程池
2011-02-19 23:43 5085concurrent并发包里面几个 ... -
如何利用 JConsole观察分析Java程序的运行,进行排错调优
2010-11-12 18:38 187409一、JConsole是什么 从Java 5开始 引入 ... -
gentoo下 JAVA生成图片的问题 以及JFreeChart的图片问题
2010-11-05 17:21 6886=============================== ... -
JAVA NIO 详解Buffer类
2010-10-19 11:21 16581讲得很好,转载一下:http://www.java1995 ... -
简单的记录下 jconsole 查看远程机器的JAVA程序运行状况
2010-09-07 14:31 1793简单实用 远端: java \ ... -
项目管理 进度表
2010-06-27 14:43 4011项目管理中很重要的一部分 进度管理,进度管理又牵扯到进度表 ... -
JAVA基础 对象克隆 实现java.lang.Cloneable接口
2010-04-23 13:46 6091先来看看JDK的解释: ... -
深入浅出Java 类加载器
2010-03-05 11:42 4515简介: 类加载 ... -
Jave EE 6特性:依赖注入、Bean验证和EJB增强
2009-12-18 16:19 2097Java EE 的最新版本提供 ... -
JVM优化之调整大内存分页(LargePage)
2009-11-26 12:50 4234http://kenwu.me/tune-large-page ... -
java内存模型详解
2009-11-26 12:30 2481好读书求甚解,共享展 ... -
JVM调优总结(一)一些概念
2009-11-24 14:43 1491原文地址:http://pengjiahe ... -
CentOS 5.2下配置Java和TOMCAT环境
2009-10-17 14:29 3774安装JDK: 1、下载解压(tar zxvf jdk.. ... -
web项目定时执行任务
2009-08-27 18:19 4332xml文件内容-监听器 < ... -
JAVA多线程的控制JAVA 5.0
2009-08-20 13:38 20013在Java 5.0之前启动一个任务是通过调用Thre ... -
JDK自带VM分析工具jps,jstat,jmap,jconsole
2009-08-09 10:24 35268一、概述 SUN ... -
log4j入门与提高-实例讲解
2009-08-04 09:47 6908官方网站:http://logging.apache.org/ ... -
获取Servlet运行环境信息-Servlet自身信息、Servlet服务器端信息和Servlet客户端信息
2009-07-08 15:01 7220在Servlet中可以很方便的获取各种运行环境信息,这些信 ... -
使用Perf4J进行性能分析和监控
2009-06-19 10:28 3566作者 Alex Devine 译者 崔 ...
相关推荐
这个“log4j示例项目”旨在帮助开发者理解和使用Log4j,通过该项目,我们可以深入学习Log4j的配置、使用方法以及其在实际开发中的应用。 **1. Log4j的组成部分** Log4j主要包括三个核心组件:Logger(日志器)、...
**Java Log4j 示例** Java Log4j 是一个广泛使用的日志记录框架,它为Java应用程序提供了灵活且高效的日志管理。Log4j 提供了丰富的功能,包括配置日志级别、输出格式、日志目的地等,使得开发者可以方便地进行调试...
三、Log4j实战——TestLog4j示例 1. **导入依赖**:首先确保项目中已经引入了Log4j的库,如果是Maven项目,可以在pom.xml中添加以下依赖: ```xml <groupId>log4j <artifactId>log4j <version>1.2.17 ``` 2. *...
**四、Log4j的扩展** 1. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**: 提供了线程相关的上下文信息,有助于追踪问题。 2. **自定义Appender和Layout**: 如果默认的Appender和Layout...
**标题:“log4j的配置示例”** **描述:“简单的log4j测试工程”** 在Java开发中,日志管理是一项重要的任务,它有助于跟踪应用程序的运行状态、错误和调试信息。Log4j是Apache提供的一款开源日志组件,广泛应用...
总结来说,这个压缩包提供了log4j的使用教程、配置示例、API文档、Java代码示例以及配置文件的解释,是一个全面学习和使用log4j的资源集合。通过深入研究这些文件,开发者可以掌握如何在自己的Java应用中有效地利用...
# log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, file log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4...
本示例将详细介绍如何将SLF4J与Log4j结合使用,以实现更灵活的日志管理。 1. **SLF4J简介** SLF4J作为一个日志抽象层,它的主要目标是允许最终用户在部署时插入他们偏好的日志框架。SLF4J提供了API,而具体的日志...
在这种情况下,转换包可能是指`slf4j-log4j12.jar`,这是一个桥接模块,使得SLF4J API能够调用Log4j的具体实现。通过这个适配器,开发者可以在使用SLF4J的API的同时,利用Log4j的强大功能。 **log4j.properties**:...
**日志框架Log4j详解** Log4j是Apache组织提供的一款开源的日志记录框架,广泛应用于Java应用程序中。在给定的压缩包文件中,包含的是Log4j的1.2.17版本,这是一个相对较为老旧但仍然被许多项目使用的版本。此版本...
《深入理解Log4j 1.2.15.jar:日志管理的基石》 在IT行业中,日志管理是一项至关重要的任务,它对于系统监控、故障排查以及性能优化起着不可忽视的作用。Log4j作为Java平台上的一个经典日志记录框架,因其强大的...
在《Log4j将System.out搞到log4j中输出四》这篇博文中,作者可能详细讨论了这些步骤,并可能分享了一些实战经验。通过学习这篇博文,读者可以更深入地了解如何在实际项目中实现这一转换,提升日志管理的效率。 总结...
# log4j.properties 示例 log4j.rootLogger=INFO, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=/var/log/app.log log4j.appender.FILE.layout=org.apache.log4j....
#### 四、log4j的核心组件 log4j的核心组件主要包括**Loggers(记录器)**、**Appenders(输出源)**和**Layouts(布局)**。 1. **Loggers (记录器)**:负责生成日志信息,并决定是否发送日志信息到Appenders。记录器...
- `log4jTest`可能是包含测试代码或示例的目录,用于演示如何使用Log4j按功能保存日志。在这些代码中,你会看到如何创建Logger实例,以及如何根据配置文件将日志输出到对应的文件。 总结,Log4j提供了一种灵活的...
Log4j2 结合 Slf4j 配置使用 Log4j2 是一个功能强大且广泛使用的日志记录工具,它提供了灵活的日志记录机制和高性能的日志记录能力。Slf4j 则是一个简单的日志记录门面,提供了统一的日志记录接口。今天,我们将...
在"做Log4j需要我包及示例"的压缩包中,可能包含了Log4j的JAR文件和一个简单的示例代码。要使用Log4j,你需要在项目中引入log4j的库文件,通常是log4j-1.2.x.jar或者log4j-api和log4j-core的最新版本。如果你使用的...
本示例将详细介绍如何使用Log4j来控制指定类或包的日志级别。 首先,我们来理解日志级别的概念。日志级别通常包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL,它们按严重程度递增排序。每个级别对应不同的信息,例如...
6. **apache-log4j-2.14.1-bin.zip**: 这可能是Log4j的完整二进制包,除了log4j.jar之外,还可能包含其他相关文件,如配置示例、文档、源码等。解压这个文件可以获取更多关于Log4j的资源,便于深入学习和调试。 综...