java log4j 日志
2016-05-05 16:36
429 查看
为什么要使用日志?
开发阶段:
发现程序的问题,排错
产品阶段:
记录程序运行状态
System.out.println()的局限性
不能在运行时打开或者关闭
不能选择包或者类,在运行的的时候打开或者关闭
输出的信息没有分级
只能输出文本信息
不能改变输出的位置
Log4j可以解决以上的问题!
hibernate内置log4j,记录日志信息
log4j官方网址:
http://lgging.apache.org/log4j
下载得到:
log4j-1.2.15.jar
log4j.properties
把下载得到来的文件路径添加到当前项目的Build Path下
log4j的基本用法:
新建java project项目:
build Path: log4j-1.2.15.jar
Example.java
import org.apache.log4j.Logger;
public class Examlpe{
private static Logger logger=Logger.getLogger(Example.class);
public static voie main(String[] args){
logger.debug("In the main method ");
logger.ingo("Welcome come to http://www.cnblogs.com/hongten ");
logger.error("This is an error message");
}
}
运行这个例子的时候需要log4.properties配置文件
通过这个配置文件,我们就可以设置日志输出的格式,也就是外观
还可以设置这个日志信息输出到那里去,是到终端,还是到物理文件。
还可以记录日志的详细的样式
在src目录下:
log4j.propreties
代码:
设置终端输出日志信息:
--------------log4j的输出级别为debug:debug,appender1,当然还可以是info,error,他们的级别是debug<info<error-----------------
--------------如:现在是debug:debug.appender1,则debug,info,error都会输出-----------------
--------------如:现在是info:into.appender1,则info,error会输出-----------------
--------------如:现在是error:error.appender1,则error会输出-----------------
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
设置保存日志信息的路径:
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.FileAppender
--------------日志信息保存在c:/demolog4j.log中-----------------
log4j.appender.appender1.File=c:/demolog4j.log
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
设置保存日志信息的路径和保存的格式为html格式:
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.FileAppender
--------------日志信息保存在c:/demolog4j.log中-----------------
log4j.appender.appender1.File=c:/demolog4j.htm
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j核心
Logger
Logger完成日志信息的处理,可以分成不同的级别记录日志信息,如:debug,info,error
Logger可以定义输出的层次和决定信息是否输出
Logger输出的信息是有优先级别的: ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF------级别由小到大
常用的有:DEBUG,INFO,WARN,ERROR
Appender
Appender设置日志信息的去向 如:一个文件中,*.log,*.htm等。或者说是数据库中
Appender就是设置日志讯息输出到那个地方,可以同时指定多个输出目的地:
log4j.rootLogger=debug,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
---------------------------------------------------------------------------------
常用的Appender:
org.apache.log4j.ConsoleAppender(控制台)
ogr.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸的时候产生一个新的文件)
org.apache.log4j.WiterAppender(将日志讯息一串流格式发送到任意指定的地方)
org.apache.log4j.JDBCAppender(将日志讯息保存到数据库中)
org.apache.log4j.SMTPAppender(将日志信息以邮件的方式发送到指定的地方)
---------------------------------------------------------------------------------
Layout
Layout设置日志信息的输出样式
---------------------------------------------------------------------------------
Layout提供的layout的方式:
org.apache.log4j.HTMLLayout(一HTML表格形式布局)
org.apache.log4j.SimpleLayout(包含日志讯息的级别和讯息字符串)
org.apache.log4j.TTCCLayout(包含日志产生时间,执行者,类别等讯息)
org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
---------------------------------------------------------------------------------
org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
定制所输出的日志信息的样式:
%p 输出优先级别:DEBUG,INFO,WARN,ERROR,FATAL
%r 输出字应用启动到输出该日志讯息所耗时秒数
%t 输出产生该日志事件的线程名
%f 输出日志讯息所属的类别的类别名
%c 输出日志讯息所属的类的全名
%d 输出日志时间点的日期或时间
%d{yyyy-MM-dd HH:mm:ss} 指定日期或时间格式
%l 输出日志时间发生的位置,即输出日志讯息的语句处于他所在的类别的第几行
%m 输出代码中指定的讯息
%n 输出一个换行符号
例子:
开发阶段:
发现程序的问题,排错
产品阶段:
记录程序运行状态
System.out.println()的局限性
不能在运行时打开或者关闭
不能选择包或者类,在运行的的时候打开或者关闭
输出的信息没有分级
只能输出文本信息
不能改变输出的位置
Log4j可以解决以上的问题!
hibernate内置log4j,记录日志信息
log4j官方网址:
http://lgging.apache.org/log4j
下载得到:
log4j-1.2.15.jar
log4j.properties
把下载得到来的文件路径添加到当前项目的Build Path下
log4j的基本用法:
新建java project项目:
build Path: log4j-1.2.15.jar
Example.java
import org.apache.log4j.Logger;
public class Examlpe{
private static Logger logger=Logger.getLogger(Example.class);
public static voie main(String[] args){
logger.debug("In the main method ");
logger.ingo("Welcome come to http://www.cnblogs.com/hongten ");
logger.error("This is an error message");
}
}
运行这个例子的时候需要log4.properties配置文件
通过这个配置文件,我们就可以设置日志输出的格式,也就是外观
还可以设置这个日志信息输出到那里去,是到终端,还是到物理文件。
还可以记录日志的详细的样式
在src目录下:
log4j.propreties
代码:
设置终端输出日志信息:
--------------log4j的输出级别为debug:debug,appender1,当然还可以是info,error,他们的级别是debug<info<error-----------------
--------------如:现在是debug:debug.appender1,则debug,info,error都会输出-----------------
--------------如:现在是info:into.appender1,则info,error会输出-----------------
--------------如:现在是error:error.appender1,则error会输出-----------------
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
设置保存日志信息的路径:
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.FileAppender
--------------日志信息保存在c:/demolog4j.log中-----------------
log4j.appender.appender1.File=c:/demolog4j.log
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
设置保存日志信息的路径和保存的格式为html格式:
log4j.rootLogger=debug,appender1
--------------日志信息到终端输出-----------------
log4j.appender.appender1=org.apache.log4j.FileAppender
--------------日志信息保存在c:/demolog4j.log中-----------------
log4j.appender.appender1.File=c:/demolog4j.htm
--------------终端输出的样式-----------------
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
log4j核心
Logger
Logger完成日志信息的处理,可以分成不同的级别记录日志信息,如:debug,info,error
Logger可以定义输出的层次和决定信息是否输出
Logger输出的信息是有优先级别的: ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF------级别由小到大
常用的有:DEBUG,INFO,WARN,ERROR
Appender
Appender设置日志信息的去向 如:一个文件中,*.log,*.htm等。或者说是数据库中
Appender就是设置日志讯息输出到那个地方,可以同时指定多个输出目的地:
log4j.rootLogger=debug,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
---------------------------------------------------------------------------------
常用的Appender:
org.apache.log4j.ConsoleAppender(控制台)
ogr.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸的时候产生一个新的文件)
org.apache.log4j.WiterAppender(将日志讯息一串流格式发送到任意指定的地方)
org.apache.log4j.JDBCAppender(将日志讯息保存到数据库中)
org.apache.log4j.SMTPAppender(将日志信息以邮件的方式发送到指定的地方)
---------------------------------------------------------------------------------
Layout
Layout设置日志信息的输出样式
---------------------------------------------------------------------------------
Layout提供的layout的方式:
org.apache.log4j.HTMLLayout(一HTML表格形式布局)
org.apache.log4j.SimpleLayout(包含日志讯息的级别和讯息字符串)
org.apache.log4j.TTCCLayout(包含日志产生时间,执行者,类别等讯息)
org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
---------------------------------------------------------------------------------
org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
定制所输出的日志信息的样式:
%p 输出优先级别:DEBUG,INFO,WARN,ERROR,FATAL
%r 输出字应用启动到输出该日志讯息所耗时秒数
%t 输出产生该日志事件的线程名
%f 输出日志讯息所属的类别的类别名
%c 输出日志讯息所属的类的全名
%d 输出日志时间点的日期或时间
%d{yyyy-MM-dd HH:mm:ss} 指定日期或时间格式
%l 输出日志时间发生的位置,即输出日志讯息的语句处于他所在的类别的第几行
%m 输出代码中指定的讯息
%n 输出一个换行符号
例子:
## 输出到控制台 begin # log4j.rootLogger=debug,appender1 # log4j.appender.appender1=org.apache.log4j.ConsoleAppender # log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout ## 输出到控制台 end ## 输出到文件 begin log4j.rootLogger=debug,appender1 log4j.appender.appender1=org.apache.log4j.FileAppender # 输出文件 log4j.appender.appender1.File=e:/demolog4j.log log4j.appender.appender1.layout=org.apache.log4j.PatternLayout log4j.appender.appender1.layout.ConversionPattern=%d %r [%t] %p - %c - %l - %m%n # 路径和保存的格式为html格式 # log4j.appender.appender1.File=c:/demolog4j.htm # log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout ## 输出到文件 end
相关文章推荐
- Fragment下listview item设置fragment,
- Java Memory Model
- java IO体系的学习总结
- MyEclipse建立SpringMVC入门HelloWorld项目
- JAVA正则表达式 Pattern和Matcher
- Java中23种设计模式简介
- Maven配置和打包以及使用Eclipse构建Maven项目
- spring 、springMVC、struts2、hibernate 、mybatis
- Junit4 整合 Spring
- 【行为型模式】策略模式(Strategy)之23种java设计模式
- Java中的 io流 (1 文件流)
- eclipse主题插件
- Maven: Setting maven build goals in eclipse
- Java 8 新特性:泛型目标类型推断
- springmvc 使用fastjson 处理 json 数据时中文乱码
- springmvc使用@responsebody返回字符串乱码问题
- Spring集成MyBatis
- K3/ERP、fineprint8.0版cology8.1最新出炉JAVA功能越来越Fineport8.0
- Java构造和解析Json数据的两种方法详解一
- 【菜鸟学安卓】- java.lang.IllegalStateException记录