别在Java代码里乱打日志了,这才是正确的打日志姿势

这里是关于正确打印日志的攻略:

1. 什么是好的日志?

一个好的日志应该包含以下几个方面:

表现良好

  • 日志输出应有较好的可读性;
  • 日志输出要具有一定层次性;
  • 日志输出要有一定格式化,比如在同一业务中输出的日志应当保持一致性。

提供足够的信息

  • 日志应当详细描述应用发生了什么,以及发生原因;
  • 一些需要排查的问题,还可以在日志中给出一些额外的信息或态度。

不只是输出debug级日志

  • 日志级别应当由低到高,分别为DEBUG、INFO、WARN、ERROR和FATAL;
  • 需要保证日志条数限制,避免过多的日志占用系统资源。

2. 日志输出库示例

Java中的日志输出库有很多,常见的有JDK自带的java.util.logging、log4j、Logback等。

以下是使用Logback输出日志的示例:

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- 日志输出格式 -->
    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
    </layout>
  </appender>

  <!-- 将日志输出到指定位置 -->
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>logs/myapp.log</file>
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- 输出debug级别以上的日志 -->
  <root level="debug">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>
</configuration>

在Java中使用Logback输出日志,示例代码如下:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyApp {
  // 通过声明log,使用LoggerFactory获取Logger
  private static final Logger log = LoggerFactory.getLogger(MyApp.class);

  public static void main(String[] args) {
    log.debug("输出debug级别的日志");
    log.info("输出info级别的日志");
    log.warn("输出warn级别的日志");
    log.error("输出error级别的日志");
  }
}

以上示例演示了如何在Java代码中使用Logback输出日志,通过设置UTF格式的LogBack配置,设置在控制台和指定文件的输出,还示范了如何在不同的情况下输出不同的级别的日志。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:别在Java代码里乱打日志了,这才是正确的打日志姿势 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • Eclipse插件开发实现控制台输出信息的方法

    下面是Eclipse插件开发实现控制台输出信息的方法的完整攻略: 1. 简介 Eclipse作为Java开发领域最流行的开发工具之一,在插件开发方面给予了极大的支持,开发人员可以针对Eclipse的每个模块和功能进行定制和扩展。其中,如何在插件开发中实现控制台输出信息,是开发人员必须熟练掌握的技能之一。 2. 使用console输出信息 在Eclipse中,…

    Java 2023年5月26日
    00
  • 使用Maven 搭建 Spring MVC 本地部署Tomcat的详细教程

    使用Maven 搭建 Spring MVC 本地部署Tomcat的详细教程 本文将详细讲解如何使用Maven搭建Spring MVC,并将其部署到本地的Tomcat服务器上。我们将提供两个示例来说明如何实现这一过程。 实现步骤 下面是实现Maven搭建Spring MVC并部署到本地Tomcat服务器的详细步骤: 步骤一:创建Maven项目 首先,我们需要创…

    Java 2023年5月17日
    00
  • 关于tomcat部署应用无法访问前端页面的问题

    当我们在使用Tomcat部署我们的应用程序时,有时候会遇到无法访问前端页面的问题,这个问题的原因可能是多种多样的。在这里,我将提供一些可能出现这个问题的原因和解决方案。 原因 1.应用路径不正确 当部署应用程序时,有可能会指定错误的应用程序路径。这样一来,当我们在浏览器中访问应用程序时,就会无法访问前端页面。 2.缺少Toemcat配置文件 Tomcat配置…

    Java 2023年5月19日
    00
  • java 使用简单的demo实例告诉你优化算法的强大

    Java 使用简单的Demo实例告诉你优化算法的强大 什么是优化算法? 优化算法又称为最优化算法,是指在满足约束条件的前提下,使某个指标达到最佳(最大或最小)的方法和思想。通常应用于数据分析、机器学习、网络优化、工程设计、金融分析等领域。 在软件开发中,通过优化算法,可以显著提高程序的效率和性能。而Java作为当前广泛应用的高级编程语言,提供了丰富的工具和库…

    Java 2023年5月19日
    00
  • SpringBoot配置连接两个或多个数据库的实现

    要在Spring Boot中配置连接多个数据库,需要完成以下几个步骤: 配置数据库连接信息 创建数据源和实体管理器工厂对象 创建事务管理器 注入数据源和事务管理器 在实体类中指定使用的数据源 下面通过两个示例详细说明如何实现这个过程。 示例一:连接MySQL和Redis数据库 配置数据库连接信息 在application.properties文件中配置MyS…

    Java 2023年5月26日
    00
  • java中实体类和JSON对象之间相互转化

    下面我将为你详细讲解“Java中实体类和JSON对象之间相互转化”的完整攻略。 什么是实体类和JSON对象 在开始讲解如何相互转化之前,我们先来了解一下什么是实体类和JSON对象。 实体类 实体类是指与现实中的某个对象或概念有相对应关系的类。在Java中,实体类通常有成员变量和对应的getter/setter方法,用于描述某个具体的实体对象。 JSON对象 …

    Java 2023年5月26日
    00
  • Java中的UnsupportedOperationException是什么?

    UnsupportedOperationException UnsupportedOperationException 是 java.lang 包中的一个异常,通常表示不支持或未实现某个方法或操作。当你调用某个方法或操作时,如果该方法或操作在当前环境下不支持或未被实现,则会抛出该异常。 一般情况下,我们会在以下情况下遇到 UnsupportedOperati…

    Java 2023年4月27日
    00
  • 如何通过XML方式配置并实现Mybatis

    通过XML方式配置实现Mybatis,需要步骤如下: 引入Mybatis依赖(以Maven为例) <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7<…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部