java日志LoggerFactory.getLogger怎么使用

其他教程   发布日期:2023年07月09日   浏览次数:349

本篇内容主要讲解“java日志LoggerFactory.getLogger怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java日志LoggerFactory.getLogger怎么使用”吧!

LoggerFactory.getLogger可以在IDE控制台打印日志,便于开发,一般加在最上面:

使用:

  1. //调试日志
  2. private final static Logger logger = LoggerFactory.getLogger(xxxController.class);

优点:使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类

logger日志的几个方法

logger.debug、logger.info、logger.warn、logger.error、logger.fatal 的区别:

  • 相同处:

它们的作用都是把错误信息写到文本日志里

  • 不同的是它们表示的日志级别不同:

日志级别由高到底是:fatal -> error -> warn -> info -> debug,低级别的会输出高级别的信息,高级别的不会输出低级别的

信息,如等级设为Error的话,warn,info,debug的信息不会输出

修改日志输出的级别要在log4j文件中进行配置

项目正式发布后,一般会把日志级别设置为fatal或者error

demo例子

  1. package wwfww.warehouse.aaaaa;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. /**
  5. * @version Revision 1.0.0
  6. * @版权:版权所有 (c) 2018
  7. * @see:
  8. * @创建日期:2020年3月2日 @功能说明: @begin
  9. * @修改记录:
  10. * @修改后版本 修改人 修改内容
  11. * @2020年3月2日 liuyu 创建
  12. * @end
  13. */
  14. public class LoggerFactoryDemo {
  15. private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFactoryDemo.class);
  16. public static void main(String[] args) {
  17. for (int i=0;i<5;i++){
  18. LOGGER.info("这是一条数据"+i);
  19. }
  20. }
  21. }

控制台输出

13:58:52.913 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据0
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据1
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据2
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据3
13:58:52.925 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据4

可以看到控制台日志输出的时候,打印出日志信息所在类

也可以用在try catch中:

  1. try{
  2. ......
  3. } catch (IOException e) {
  4. logger.info("错误信息:" + e.getMessage());
  5. return new Result(e.getMessage());
  6. }

在日志输出时,字符串变量之间的拼接使用占位符的方式

说明:因为 String 字符串的拼接会使用 StringBuilder 的 append()方式,有一定的性能损耗。使用占位符仅是替换动作,可以有效提升性能。

打印json数据

新建entity

  1. package wwfww.warehouse.aaaaa;
  2. import javax.xml.crypto.Data;
  3. import java.util.Date;
  4. /**
  5. * @version Revision 1.0.0
  6. * @版权:版权所有 (c) 2018
  7. * @see:
  8. * @创建日期:2020年3月2日 @功能说明: @begin
  9. * @修改记录:
  10. * @修改后版本 修改人 修改内容
  11. * @2020年3月2日 liuyu 创建
  12. * @end
  13. */
  14. public class DemoEntity {
  15. public String name;
  16. public String address;
  17. public Date birthday;
  18. public String getName() {
  19. return name;
  20. }
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24. public String getAddress() {
  25. return address;
  26. }
  27. public void setAddress(String address) {
  28. this.address = address;
  29. }
  30. public Date getBirthday() {
  31. return birthday;
  32. }
  33. public void setBirthday(Date birthday) {
  34. this.birthday = birthday;
  35. }
  36. }
  1. package wwfww.warehouse.aaaaa;
  2. import com.alibaba.fastjson.JSON;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import java.util.Date;
  6. /**
  7. * @version Revision 1.0.0
  8. * @版权:版权所有 (c) 2018
  9. * @see:
  10. * @创建日期:2020年3月2日 @功能说明: @begin
  11. * @修改记录:
  12. * @修改后版本 修改人 修改内容
  13. * @2020年3月2日 liuyu 创建
  14. * @end
  15. */
  16. public class LoggerFactoryDemo {
  17. private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFactoryDemo.class);
  18. public static void main(String[] args) {
  19. for (int i=0;i<5;i++){
  20. DemoEntity entity = getDemoEntity(i);
  21. LOGGER.info("这是一条数据:{}", JSON.toJSONString(entity));
  22. }
  23. for (int i=0;i<5;i++){
  24. DemoEntity entity = getDemoEntity(i);
  25. LOGGER.info("{}:也可以是前面", JSON.toJSONString(entity));
  26. }
  27. }
  28. private static DemoEntity getDemoEntity(int i){
  29. DemoEntity demoEntity = new DemoEntity();
  30. demoEntity.setName("小明"+i+"号");
  31. demoEntity.setAddress("北京胡同"+2+"街道");
  32. demoEntity.setBirthday(new Date());
  33. return demoEntity;
  34. }
  35. }

控制台输出:

14:27:42.161 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据:{"address":"北京胡同2街道","birthday":1587882461879,"name":"小明0号"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据:{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明1号"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据:{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明2号"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据:{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明3号"}
14:27:42.173 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - 这是一条数据:{"address":"北京胡同2街道","birthday":1587882462173,"name":"小明4号"}
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明0号"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明1号"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明2号"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明3号"}:也可以是前面
14:43:49.631 [main] INFO wwfww.warehouse.aaaaa.LoggerFactoryDemo - {"address":"北京胡同2街道","birthday":1587883429631,"name":"小明4号"}:也可以是前面

注:

使用JSON.toJSONString要添加阿里的依赖

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>fastjson</artifactId>
  4. <version>1.2.57</version>
  5. </dependency>

以上就是java日志LoggerFactory.getLogger怎么使用的详细内容,更多关于java日志LoggerFactory.getLogger怎么使用的资料请关注九品源码其它相关文章!