如何在项目中记录日志信息?

大家好,我是3y。在正文之前,先给各位股东汇报下austin项目进度:

总的来说,我感觉这次的反响还是不错的,虽然阅读量不高。但留言的人多了很多,也有很多人都担心我会不会鸽掉(更新一半中途就断了)

我只能说:别慌,绝对不鸽,你只管追更就好

我已经决定每个周末都扛着电脑回家,有空就往附近的图书馆里跑(图书馆是学习的YYDS,在家的效率就是要比图书馆要低不少)

不多BB了,今天继续聊个话题:日志

01、什么是日志

所谓日志,在我理解下就是:记录程序运行时的信息

在Java最初期又或是我们初学阶段,打印日志全凭System.out.println();

这好用吗?有待商榷。

对于大部分初学者来说,好用!我想看的信息,直接在console就能看到了,这是多么地方便啊。学习Java的第一个运行结果都是由System.out.println();出来的,不需要有任何的学习成本。

对于大部分工作者来说,本地调试可以,但如果程序部署到服务器以后,那就算了。

生产环境跟本地环境是有区别的:

  • 生产环境需要记录的日志会更多(毕竟是作为一个系统/项目在线上运行,不可能只打印一点点内容)
  • 生产环境的日志内容需要保留至文件(作为留存,实际上不会说第一时间发现问题,很多需要查找历史日志数据)
  • 生产环境的日志内容需要有一定的规范格式(至少日志记录的时间需要有吧)

上面这些要求,System.out.println();都是不具备的。

所以,我们可以看到在公司里写的项目,是没有用System.out.println();记录日志的

02、Java日志体系

工作了以后,你会发现每次引入一个框架,这个框架下几乎都有对应的日志包。

我之前在公司里曾经整合过几个项目(将原有的几个工程合并到一个项目内)。

系统分久必合合久必分,当时是认为以前的同事把项目拆得过于细,造成一定的资源浪费(毕竟每个工程跑在线上至少都会部署两台线上机器),所以有段时间公司就希望我们把一些细小的项目进行合并。

至于这事做得对与错,这块我就不谈了。

在合并的过程中,最最最麻烦的就是解决依赖冲突的问题(都是Maven项目,会有Maven仲裁的问题),而这里边,最明显的就是Java日志包的问题。

如果你有那么一丢丢了解Java日志,你就应该多多少少听说过以下的名字:Log4j(log for java)、JUL(Java Util Logging)、JCL(Jakarta Commons Logging)、Slf4j(Simple Logging Facade for Java)、Logb

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值