1.日志工具log4j
1. 导入
- 项目下创建lib文件夹。
- jar包放到lib文件夹下。
- 右键jar包build path。
2. 默认配置
使用默认配置,需要手动在java代码里添加日志的输出级别。
//日志从低到高的级别 //trace-debug-info-warn-error-fatal
代码
public class Demo1 {//使用默认配置public static void main(String[] args) throws InterruptedException {// TODO Auto-generated method stub//为当前类获取日志对象Logger logger=Logger.getLogger(Demo1.class);//使用默认配置BasicConfigurator.configure();//设置日志输出级别logger.setLevel(Level.DEBUG);//日志从低到高的级别//trace-debug-info-warn-error-fatallogger.trace("跟踪信息");logger.debug("调试信息");logger.info("输出信息");Thread.sleep(1000);logger.warn("警告信息");logger.error("错误信息");logger.fatal("致命信息");}}
3. properties配置
- 在项目/src下创建配置文件log4j.properties
- 在配置文件中写入配置
# 日志输出级别debug,往标准输出(控制台屏幕上)stdout、外部文件输出log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout#在控制输出的每一行的格式# Pattern to output the caller's file name and line number.log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n#外部文件输出的文件名log4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=example.log#外部文件的一下属性,最大容量log4j.appender.R.MaxFileSize=100KB# Keep one backup filelog4j.appender.R.MaxBackupIndex=5#外部文件的输出格式log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
- 在java文件里就可以使用了
//为当前类获取日志对象Logger logger=Logger.getLogger(Demo1.class);//使用properties配置文件PropertyConfigurator.configure("src/log4j.properties");
- 关于输出格式
log4j日志输出格式一览:%c 输出日志信息所属的类的全名%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28%f 输出日志信息所属的类的类名%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行%m 输出代码中指定的信息,如log(message)中的message%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推%r 输出自应用启动到输出该日志信息所耗费的毫秒数%t 输出产生该日志事件的线程名
4 xml文件配置
- 在项目/src下写入log4j.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/></layout></appender><!-- 某些特殊的包的配置 --><!-- specify the logging level for loggers from other libraries --><logger name="com.opensymphony"><level value="ERROR" /></logger><logger name="org.apache"><level value="ERROR" /></logger><logger name="org.hibernate"><level value="ERROR" /></logger><!-- 所有包基础的配置 --><!-- for all other loggers log only debug and above log messages --><root><priority value="ERROR"/><appender-ref ref="STDOUT" /></root></log4j:configuration>
- java文件里就可以使用了
Logger logger=Logger.getLogger(Demo1.class);//使用properties配置文件PropertyConfigurator.configure("src\\log4j.xml");
