log4j是java主流的日志框架,在线上生产环境下,有很多问题都是通过查看日志发觉的,日志的重要性不言而喻。
log4j提供各种类型,各种存储,各种格式,多样化的日志服务。Log4j根据日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL这7类。一般只使用其中的4个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。日志配置的级别较高,就不会把低级别的日志打印出来。比如配置的日志级别是ERROR,就不会将WARN、INFO、DEBUG级别的日志打印出来。
使用log4j
第一步:
在pom.xml文件中引入依赖
log4j log4j 1.2.17
第二步:
在项目resources目录下新建一个文件log4j.properties。将配置放入文件中
log4j.rootLogger=DEBUG, Console ,FIEL ,DailyRollingFile ,RollingFile #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.TTCCLayout #FIEL log4j.appender.FIEL = org.apache.log4j.FileAppender log4j.appender.FIEL.File = D://WorkProject//SpringBoot//logs//log.log log4j.appender.FIEL.layout = org.apache.log4j.PatternLayout log4j.appender.FIEL.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n #DailyRollingFile log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.File = D://WorkProject//SpringBoot//logs//springbootcrud-log.log log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n #RollingFile log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender log4j.appender.RollingFile.File = D://WorkProject//SpringBoot//logs//springbootcrud-date.log log4j.appender.RollingFile.MaxFileSize=100KB log4j.appender.RollingFile.MaxBackupIndex=10 log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.rootLogger中DEBUG代表配置的日志级别是DEBUG。
log4j.appender.FIEL.File 中的配置代表日志输出到那个文件下
log4j.appender.DailyRollingFile.File中的配置代表每天的日志输出到那个文件下(主要是为了防止文件日志太大)
log4j.appender.RollingFile.File中的配置代表如果日志文件超过了设定的值,日志输出到那个文件下。
可以根据实际情况对几个配置做对应的修改。
第三步:
在代码中使用日志,在要使用日志的类中定义日志变量。
private static Logger logger=Logger.getLogger(PersonController.class);
PersonController是类名。
在要打印日志的地方调用日志类的方法输出日志
logger.info("普通Info信息"); logger.debug("调试debug信息"); logger.error("报错error信息"); logger.warn("警告warn信息"); logger.fatal("严重错误fatal信息");
第四步:
启动程序后,日志就会输出到指定的目录下,效果如下。
![5b049698671f8538265af642291c710c.png](https://i-blog.csdnimg.cn/blog_migrate/3b35f507bb64aca8da39fc658df833ff.jpeg)
日志文件