发表于: 2017-08-23 23:57:31
1 961
今天完成的事
完成步骤21
配置log4j并打出日志
1.配置pom文件,添加JAR包
网上很多文章没有指明是log4j而不是log4j2导致我遇到很多报错,在这里稍微讲一下
log4j的依赖配置为
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
log4j2的依赖配置为
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.1</version>
</dependency>
两者差别较大,需要注意辨别 log4j支持两种定义方式,xml和properties 而log4j2只支持xml定义
我个人选择在非WEB项目中选择log4j输出日志
2.配置log4j
### 设置###
log4j.rootLogger = debug,stdout,D,I,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/debug.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/debug/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出INFO 级别以上的日志到=E://logs/info/error.log ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = E://logs/info/info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
这里我选择将不同的日志输出到不同的文件夹中,对应配置代码如图所示
可以从箭头看出,DEBUG日志中包含了INFO日志,和知识点中级别低的日志会把比自己级别高的一起输出出来的对应起来
调试DEBUG
按小虫进入DEBUG模式
设置断点
分布调试
主要操作按钮就在这个区域,没什么难度
下载安装虚拟机并安装基于lunix的Ubuntu可视化系统
挺好玩的,服务器和域名已经买好了,域名在审核,这两天先在虚拟机上练练手
明天的计划 在虚拟机上安装各种软件 演讲修改过的小课堂
遇到的问题
网上的log4j教程都没有区分log4j和log4j2的区别,用了log4j的方法却依赖着log4j2的jar包,最后发现了这两者的区别
log4j2更多别应用于web项目,甚至需要slf4j的辅助,而slf4j和log4j以及log4j2的区别简单的可以理解为:slf4j类比为log4j以及log4j2的接口,slf4j是日志的接口(只定义了一些方法而没有去实现),和commons-logging一样。而log4j以及log42是具体的实现(即怎么来打印日志等),和logback是一样的
收获:学会了打印并输出日志到自己想要的目录,区分了log4j和log4j2,学会了使用DEBUG模式进行代码的调试
任务进度:任务一,步骤21
任务开始时间:2017-8-15
预计结束时间:2017-8-25
有延期风险
解决方案:已经完成较难的问题,接下来搭建服务器就等域名通过审核,提前学习服务器搭建的知识,等域名通过审核就马上开始
禅道:禅道还挂着呢......
评论