java log4j日志

首先下载log4j.jar包,去官网下就好了

然后新建一个lg4j.properties文件,用记事本新建然后改名就好,然后配置properties文件

以下面的配置为例

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = log/log.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|%p|%c|%l|%m%n

org.apache.log4j.DailyRollingFileAppender表示每天产生一个日志文件,file表示日志存储的地址,threshold表示输入到这个日志里的信息的下界,之后会介绍信息的级别,org.apache.log4j.PatternLayout表示可以灵活地指定布局模式,log4j.appender.D.layout.ConversionPattern则指定了输出信息的格式,之后也会指出。


下面来具体了解一下这些配置的具体种类

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(输出到控制台)

org.apache.log4j.FileAppender(文件)

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局)

org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


打印参数如下: 

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 

%r 输出自应用启动到输出该log信息耗费的毫秒数  

%c 输出所属的类目,通常就是所在类的全名  

%t 输出产生该日志事件的线程名  

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”  

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


信息的优先级:

A:off 最高等级,用于关闭所有日志记录。

B:fatal 指出每个严重的错误事件将会导致应用程序的退出。

C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。

D:warm 表明会出现潜在的错误情形。

E:info 一般和在粗粒度级别上,强调应用程序的运行全程。

F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。

G:all 最低等级,用于打开所有日志记录。


然后在代码中需要将信息输出到日志中,只需要向下面这样操作:

private static Logger logger = Logger.getLogger(this.class);

logger.info(message);

就可以输出一个info级别的message到日志中,一定要注意,Java自动纠错会提示你所有可以导入的log4j包,但是一定不能乱选不然仍然会报错,提供一下参考我导入的是

import org.apache.log4j.Logger;

然后输出的日志大概形式就如下面这样:

2018-06-10 12:57:14|main|INFO|graph.ConcreteGraph|graph.ConcreteGraph.addEdge(ConcreteGraph.java:143)|边GMFD添加成功

2018-06-10 12:57:14|main|INFO|graph.ConcreteGraph|graph.ConcreteGraph.addEdge(ConcreteGraph.java:143)|边SRMF添加成功

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,516评论 1 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,446评论 0 6
  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 5,895评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 8,559评论 0 0
  • 端口被占用(6180) netstat -nao 查看所有端口 1.查找被占用端口的PIDnetstat -nao...
    全宇宙最帅De男人阅读 3,973评论 0 0

友情链接更多精彩内容