小了解

日志文件在各个环境中都能够使用。在项目环境中调用日志的api。其中日志有很多类型,譬如:异步,滚动等等

什么是日志?

我们用来记录具体的事情的一种文字或者表格或者其它方式的一种描述描述信息。程序中的“日志”,记录系统执行的关键环节或者,关键的步骤,或者记录日志的错误信息或者其它的描述的信息。

为什么要做日志?

日志,是系统运行过程,对系统运行的关键的环节,或者关键的步骤来进行记录,我们通过日期打印的,或者记录的这些关键的信息,我们可以分析出,系统的性能,是否需要优化,系统出现故障,或者宕机,之后,我们可以通过日志分析,来找出系统所出的问题。所以日志它有助于我们提升对系统的监控或者维护。

日志的发展历程

1996年早期,欧洲安全电子市场项目组决定编写它自己的程序跟踪API(Tracing API)。经过不断的完善,这个API终于成为一个十分受欢迎的Java日志软件包,即Log4j。后来Log4j成为Apache基金会项目中的一员。 期间Log4j近乎成了Java社区的日志标准。据说Apache基金会还曾经建议Sun引入Log4j到java的标准库中,但Sun拒绝了。 2002年Java1.4发布,Sun推出了自己的日志库JUL(Java Util Logging),其实现基本模仿了Log4j的实现。在JUL出来以前,Log4j就已经成为一项成熟的技术,使得Log4j在选择上占据了一定的优势。 接着,Apache推出了Jakarta Commons Logging,JCL只是定义了一套日志接口(其内部也提供一个Simple Log的简单实现),支持运行时动态加载日志组件的实现,也就是说,在你应用代码里,只需调用Commons Logging的接口,底层实现可以是Log4j,也可以是Java Util Logging。 后来(2006年),Ceki Gülcü不适应Apache的工作方式,离开了Apache。然后先后创建了Slf4j(日志门面接口,类似于Commons Logging)和Logback(Slf4j的实现)两个项目,并回瑞典创建了QOS公司,QOS官网上是这样描述Logback的:The Generic,Reliable Fast&Flexible Logging Framework(一个通用,可靠,快速且灵活的日志框架)。现今,Java日志领域被划分为两大阵营:Commons Logging阵营和Slf4j阵营。Commons Logging在Apache大树的笼罩下,有很大的用户基数。但有证据表明,形式正在发生变化。2013年底有人分析了GitHub上30000个项目,统计出了最流行的100个Libraries,可以看出Slf4j的发展趋势更好: Apache眼看有被Logback反超的势头,于2012-07重写了Log4j 1.x,成立了新的项目Log4j 2, Log4j 2具有Logback的所有特性

总结:

最早我们做日志,需要在项目添加 log4j,或者jul 这两个jar包就可以了。但是呢这样子做有一个确定,如果我们把我切换日志,把log4j改成我们jul,我们要去改我们的代码。为了解决这个问题我们就引入了一个日志门面: jcl(日志门面)但是呢,随着技术的发展,log4j,和jul 它们出现的比较的早,log4j它的作者,就重写完善了一些log4j,所以推出了logback ……log4j和logback他们是一个作者。并且它的作者又退出了一个日志门面叫做。Slf4j (日志门面)Apache公司为了抢占市场,它也退出了一款日志工具叫做 log4j2. Log4j2只是借 log4j之名。他们本身不是一个东西。

我们项目做日志

zabbix监控日志的模板 监控日志表格怎么做_Apache


结论:项目中做日志,推荐使用的日志门面是 slf4j 日志实现是 logback 或者log4j2