返回顶部
首页 > 资讯 > 精选 >logback 日志输出格式
  • 839
分享到

logback 日志输出格式

2023-06-02 16:06:16 839人浏览 泡泡鱼
摘要

  前言  日志对一个系统的重要性不言而喻;日志通常是在排查问题时给人看,一个友好的输出样式让人看到后赏心悦目,排查效率通常也会随之提高;下面为大家共享一下通过设置logback日志输出格式,打印出令人欣喜的日志样式。  一、未指定日志格式

  前言

  日志对一个系统的重要性不言而喻;日志通常是在排查问题时给人看,一个友好的输出样式让人看到后赏心悦目,排查效率通常也会随之提高;下面为大家共享一下通过设置logback日志输出格式,打印出令人欣喜的日志样式。

  一、未指定日志格式,日志输出

  1、代码实现

  (1)演示日志输出控制器

  

  package com.zhanghan.zhboot.controller;

  import com.mysql.jdbc.StringUtils;

  import com.zhanghan.zhboot.controller.request.MobileCheckRequest;

  import com.zhanghan.zhboot.properties.MobilePreFixProperties;

  import com.zhanghan.zhboot.util.wrapper.WrapMapper;

  import com.zhanghan.zhboot.util.wrapper.Wrapper;

  import io.swagger.annotations.api;

  import io.swagger.annotations.ApiOperation;

  import org.slf4j.Logger;

  import org.slf4j.LoggerFactory;

  import org.springframework.beans.factory.annotation.Autowired;

  import org.springframework.validation.annotation.Validated;

  import org.springframework.WEB.bind.annotation.RequestBody;

  import org.springframework.web.bind.annotation.RequestMapping;

  import org.springframework.web.bind.annotation.RequestMethod;

  import org.springframework.web.bind.annotation.RestController;

  import java.util.HashMap;

  import java.util.Map;

  @RestController

  @Api(value = "校验手机号控制器", tags = {"校验手机号控制器"})

  public class CheckMobileController {

  private static Logger logger = LoggerFactory.getLogger(CheckMobileController.class);

  @Autowired

  private MobilePreFixProperties mobilePreFixProperties;

  @ApiOperation(value = "优雅校验手机号格式方式", tags = {"校验手机号控制器"})

  @RequestMapping(value = "/Good/check/mobile", method = RequestMethod.POST)

  public Wrapper goodCheckMobile(@RequestBody @Validated MobileCheckRequest mobileCheckRequest) {

  logger.info("good check mobile param {}", mobileCheckRequest.toString());

  String countryCode = mobileCheckRequest.getCountryCode();

  String proFix = mobilePreFixProperties.getPrefixs().get(countryCode);

  if (StringUtils.isNullOrEmpty(proFix)) {

  logger.error("good check mobile param is error; param is {}, profix is {}", mobileCheckRequest.toString(), proFix);

  return WrapMapper.error("参数错误");

  }

  String mobile = mobileCheckRequest.getMobile();

  Boolean isLegal = false;

  if (mobile.startsWith(proFix)) {

  isLegal = true;

  }

  Map map = new HashMap();

  map.put("mobile", mobile);

  map.put("isLegal", isLegal);

  map.put("proFix", proFix);

  return WrapMapper.ok(map);

  }

  @ApiOperation(value = "扩展性差校验手机号格式方式", tags = {"校验手机号控制器"})

  @RequestMapping(value = "/bad/check/mobile", method = RequestMethod.POST)

  public Wrapper badCheckMobile(@RequestBody MobileCheckRequest mobileCheckRequest) {

  logger.info("bad check mobile param {}", mobileCheckRequest.toString());

  String countryCode = mobileCheckRequest.getCountryCode();

  String proFix = "";

  if (countryCode.equals("CN")) {

  proFix = "86";

  } else if (countryCode.equals("US")) {

  proFix = "1";

  } else {无锡看妇科的医院 Http://www.ytsgfk120.com/

  logger.error("bad check mobile param is error; param is {}, profix is {}", mobileCheckRequest.toString(), proFix);

  return WrapMapper.error("参数错误");

  }

  String mobile = mobileCheckRequest.getMobile();

  Boolean isLegal = false;

  if (mobile.startsWith(proFix)) {

  isLegal = true;

  }

  Map map = new HashMap();

  map.put("mobile", mobile);

  map.put("isLegal", isLegal);

  map.put("proFix", proFix);

  return WrapMapper.ok(map);

  }

  }

  2、项目部署服务器后访问打印日志的效果

  二、指定日志格式,日志输出

  1、代码实现

  (1)演示日志输出控制器(同上)

  (2)在项目的resources目录下增加logback.xml设置打印格式,logback.xml内容如下:

  %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %green([${LOG_HOME},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]) %magenta(${PID:-}) %white(---) %-20(%yellow([%20.20thread])) %-55(%cyan(%.32logger{30}:%L)) %highlight(- %msg%n)

  UTF-8

  ${LOG_PATH}/${appName}-log-console-%d{yyyy-MM-dd}.%i.log.zip

  ${maxSaveDays}

  ${maxFileSize}

  %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %green([${LOG_HOME},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]) %magenta(${PID:-}) %white(---) %-20(%yellow([%20.20thread])) %-55(%cyan(%.32logger{30}:%L)) %highlight(- %msg%n)

  UTF-8

  ${LOG_PATH}/${appName}-log-info-%d{yyyy-MM-dd}.%i.log.zip

  ${maxSaveDays}

  ${maxFileSize}

  %d{"yyyy-MM-dd HH:mm:ss,SSS"}[%X{userId}|%X{sessionId}][%p][%c{0}-%M]-%m%n

  UTF-8

  ERROR

  DENY

  ACCEPT

  ${LOG_PATH}/${appName}-log-error-%d{yyyy-MM-dd}.%i.log.zip

  ${maxSaveDays}

  ${maxFileSize}

  %d{"yyyy-MM-dd HH:mm:ss,SSS"}[%X{userId}|%X{sessionId}][%p][%c{0}-%M]-%m%n

  UTF-8

  ERROR

  ACCEPT

  DENY

  level="INFO"/>

  3、项目部署服务器后访问打印日志的效果

  4、查看日志记录文件,效果也一样,效果图:

  三、项目地址

  1、地址:https://GitHub.com/dangnianchuntian/SpringBoot

  2、代码版本:1.5.0-Release

  【总结

  1、通过设定日志格式,输出的样式更加人性化,错误也更加明显;

  2、这个小小的改变,使得在排查程序时更加的赏心悦目,心情上的开心将在无形中增加排错的效率。

--结束END--

本文标题: logback 日志输出格式

本文链接: https://lsjlt.com/news/230511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • logback 日志输出格式
      前言  日志对一个系统的重要性不言而喻;日志通常是在排查问题时给人看,一个友好的输出样式让人看到后赏心悦目,排查效率通常也会随之提高;下面为大家共享一下通过设置logback日志输出格式,打印出令人欣喜的日志样式。  一、未指定日志格式...
    99+
    2023-06-02
  • logback日志输出格式设置方式
    目录部分标签解释内置转换器部分特殊字符串解释更多内置特殊字符如何自定义输出样式字符颜色定义内置的一些样式代码示例使用内置模板使用自定义模板总结部分标签解释 withJansi: 是否...
    99+
    2023-05-14
    logback日志输出 logback日志格式设置 logback日志
  • logback日志输出格式怎么设置
    本篇内容介绍了“logback日志输出格式怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!部分标签解释withJansi: 是否配合j...
    99+
    2023-07-05
  • Slf4j+logback实现JSON格式日志输出方式
    目录Slf4j+logback实现JSON格式日志输出依赖logback 记录JSON日志Slf4j+logback实现JSON格式日志输出 依赖 <dependency&...
    99+
    2024-04-02
  • Slf4j+logback实现JSON格式日志输出方式是什么
    Slf4j+logback实现JSON格式日志输出方式是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Slf4j+logback实现JSON格式日志输出依赖<de...
    99+
    2023-06-22
  • logback输出日志屏蔽quartz的debug等级日志方式
    目录logback输出日志屏蔽quartz的debug等级日志解决方法quartz关闭DBUG日志把他的log级别改成 ERROR或者索性logback输出日志屏蔽quartz的de...
    99+
    2024-04-02
  • dubbo 如何使用logback来输出日志
    dubbo logback输出日志 两者皆为国内使用比较广的两个开源框架:一个是服务治理框架,另一个则是日志框架。这个问题的解决方案一部分就在dubbo官网上: dubbo的日志适配...
    99+
    2024-04-02
  • java Logback输出日志内容到文件
    要将logger.info的信息输出到文件,您可以使用Logback配置。下面是一个简单的示例: 1.首先,在您的项目中添加Logback依赖,例如在Maven项目中的pom.xml文件中添加以下代码...
    99+
    2023-09-11
    java logback 开发语言
  • logback过滤部分日志输出的操作
    目录logback过滤部分日志输出场景日志过滤Logback 自定义灵活的日志过滤规则下面是一个只记录日志级别为ERROR的例子下面举一个简单的例子logback过滤部分日志输出 场...
    99+
    2024-04-02
  • logback自定义json日志输出示例详解
    目录前言依赖的jarmaven坐标配置Appender节点appender配置说明:配置logger节点logger配置说明:前言 先说下楼主的使用场景吧,将程序的某些方法调用以js...
    99+
    2024-04-02
  • 怎么在Python自定义日志输出格式
    今天就跟大家聊聊有关怎么在Python自定义日志输出格式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scr...
    99+
    2023-06-14
  • 基于slf4j日志MDC输出格式的问题
    目录slf4j日志MDC输出格式配置使用原因分析slf4j输出日志的语法slf4j输出log的语法1. 直接拼接字符串2. 使用SLF4J的格式化功能3. 格式化占位符的转义4. l...
    99+
    2024-04-02
  • Golang如何将日志以Json格式输出到Kafka
    目录格式化接口普通文本格式化器Json文本格式化器写日志接口写日志到文件写日志到Kafka接口的组装如何提高日志处理的吞吐量在上一篇文章中我实现了一个支持Debug、Info、Err...
    99+
    2024-04-02
  • Springboot异常日志输出方式
    目录lombok插件使用统一异常处理统一日志输出配置日志级别↓Logback日志↓配置logback日志↓安装idea彩色日志插件:grep-console复制粘贴即可lombok插...
    99+
    2024-04-02
  • xtrabackup 日志输出
    [root@mysql-back pingtai_temp]# innobackupex  --apply-log  --parallel=4&n...
    99+
    2024-04-02
  • Springboot允许logger.debug输出日志方式
    目录Springboot允许logger.debug输出日志SpringBoot启动debug级别日志报错错误截图原因解决办法Springboot允许logger.debug输出日志...
    99+
    2024-04-02
  • Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么
    这篇文章主要介绍“Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么”,在日常操作中,相信很多人在Golang GinWeb之自定义日志格式和输出方式/启禁日志颜色的方法是什么问...
    99+
    2024-04-02
  • Tomcat的支持log4j及日志输出为json格式是怎样的
    今天就跟大家聊聊有关Tomcat的支持log4j及日志输出为json格式是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.下载apache-tomcat-7.0.42及解压[...
    99+
    2023-06-03
  • gateway、webflux、reactor-netty请求日志输出方式
    目录gateway、webflux、reactor-netty请求日志输出场景思路解决方案spring-webflux、gateway、springboot-start-web问题S...
    99+
    2024-04-02
  • log4j2异步日志输出方式有几种
    小编给大家分享一下log4j2异步日志输出方式有几种,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!log4j2的异步日志输出方式使用log4j2的同步日志进行日志...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作