log4j是Apache的一个开源项目
log4j,我们可以控制日志信息输出到控制台、文件、GUI组件、甚至是数据库中,我们可以控制每一条日志的输出格式。通过定义日志的输出基别,可以更灵活的控制日志的输出过程,方便项目的调试。
日志级别:
log4j提供了七种日志级别:
off | 最高日志级别,关闭左右 |
---|---|
FATAL | 将会导致应用程序退出的错误 |
Error | 发生错误事件,但仍不影响系统的继续运行 |
WARN | 警告,即潜在的错误情形 |
INFO | 一般和在粗粒度级别上,强调应用程序的运行全程 |
DEBUG | 一般用于细粒度级别上,对强调应用程序非常有帮助 |
ALL | 最低等级,打开所有日志记录 |
org.apache.log4j.ConsoleAppender:将日志输出到控制台
org.apache.log4j.FileAppender:将日志输出到文件中
org.apache.log4j.RollingFileAppender:将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大 小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件
org.apache.log4j.jdbc.JDBCAppender:把日志信息保存到数据库中
HTMLLayout:格式化日志输出为HTML表格形式
SimpleLayout:简单的日志输出格式化,打印的日志格式为(info - message)
PatternLayout:最强大的格式化期,可以根据自定义格式输出日志,如果没有指定转换格式,就是用默认的转换格式。
public class Log4JTest {
public static void main(String[] args) {
Logger logger = Logger.getLogger(Log4JTest.class);
BasicConfigurator.configure();
HTMLLayout layout = new HTMLLayout();
// SimpleLayout layout = new SimpleLayout();
try {
FileAppender appender = new FileAppender(layout, "D:\\out.html", false);
logger.addAppender(appender);
//设置日志输出级别为info,这将覆盖配置文件中设置的级别,只有日志级别高于WARN的日志才输出
logger.setLevel(Level.WARN);
logger.debug("这是debug");
logger.info("这是info");
logger.warn("这是warn");
logger.error("这是error");
logger.fatal("这是fatal");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}