快捷搜索: 王者荣耀 脱发

java日志LoggerFactory.getLogger最全讲解使用方法

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

使用:

//调试日志
    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例子

控制台输出:

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中:

try{
          
   
......
} catch (IOException e) {
          
   
            logger.info("错误信息:" + e.getMessage());
            return new Result(e.getMessage());
        }

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

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

打印json数据

新建entity

控制台输出:

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要添加阿里的依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.57</version>
        </dependency>
经验分享 程序员 微信小程序 职场和发展