当前位置: 首页 > news >正文

新疆生产建设兵团12师网站门户网站怎么做

新疆生产建设兵团12师网站,门户网站怎么做,深圳优定软件网站建设,提供网站建设SpringBoot开发中如何选用日志框架呢? 出于性能等原因,Logback 目前是springboot应用日志的标配; 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式。日志框架的基础在学习这块时需要一些日志框架的发展和基础,同时了…
SpringBoot开发中如何选用日志框架呢? 出于性能等原因,Logback 目前是springboot应用日志的标配; 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式。

日志框架的基础

在学习这块时需要一些日志框架的发展和基础,同时了解日志配置时考虑的因素。

关于日志框架(日志门面)

Java日志库是最能体现Java库在进化中的渊源关系的,在理解时重点理解日志框架本身日志门面,以及比较好的实践等。要关注其历史渊源和设计(比如桥接),而具体在使用时查询接口即可, 否则会陷入JUL(Java Util Log), JCL(Commons Logging), Log4j, SLF4J, Logback,Log4j2傻傻分不清楚的境地。

配置时考虑点

在配置日志时需要考虑哪些因素?
  • 支持日志路径,日志level等配置

  • 日志控制配置通过application.yml下发

  • 按天生成日志,当天的日志>50MB回滚

  • 最多保存10天日志

  • 生成的日志中Pattern自定义

  • Pattern中添加用户自定义的MDC字段,比如用户信息(当前日志是由哪个用户的请求产生),request信息。此种方式可以通过AOP切面控制,在MDC中添加requestID,在spring-logback.xml中配置Pattern。

  • 根据不同的运行环境设置Profile - dev,test,product

  • 对控制台,Err和全量日志分别配置

  • 对第三方包路径日志控制

实现范例

如下两个例子基本包含了上述的考虑点:

综合范例

  • application.yml

logging:level:root: debugpath: C:/data/logs/springboot-logback-demo
server:port: 8080
spring:application:name: springboot-logback-demo
debug: false
  • Spring-logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 日志根目录--><springProperty scope="context" name="LOG_HOME" source="logging.path" defaultValue="/data/logs/springboot-logback-demo"/><!-- 日志级别 --><springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="DEBUG"/><!--  标识这个"STDOUT" 将会添加到这个logger --><springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/><!-- 日志文件名称--><property name="LOG_PREFIX" value="spring-boot-logback" /><!-- 日志文件编码--><property name="LOG_CHARSET" value="UTF-8" /><!-- 日志文件路径+日期--><property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" /><!--对日志进行格式化--><property name="LOG_MSG" value="- | [%X{requestUUID}] | [%d{yyyyMMdd HH:mm:ss.SSS}] | [%level] | [${HOSTNAME}] | [%thread] | [%logger{36}] | --> %msg|%n "/><!--文件大小,默认10MB--><property name="MAX_FILE_SIZE" value="50MB" /><!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志--><property name="MAX_HISTORY" value="10"/><!--输出到控制台--><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><!-- 输出的日志内容格式化--><layout class="ch.qos.logback.classic.PatternLayout"><pattern>${LOG_MSG}</pattern></layout></appender><!--输出到文件--><appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender"></appender><!-- 定义 ALL 日志的输出方式:--><appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--日志文件路径,日志文件名称--><File>${LOG_HOME}/all_${LOG_PREFIX}.log</File><!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件路径,新的 ALL 日志文件名称,“ i ” 是个变量 --><FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%i.log</FileNamePattern><!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志--><MaxHistory>${MAX_HISTORY}</MaxHistory><!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB--><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><!-- 输出的日志内容格式化--><layout class="ch.qos.logback.classic.PatternLayout"><pattern>${LOG_MSG}</pattern></layout></appender><!-- 定义 ERROR 日志的输出方式:--><appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 下面为配置只输出error级别的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><OnMismatch>DENY</OnMismatch><OnMatch>ACCEPT</OnMatch></filter><!--日志文件路径,日志文件名称--><File>${LOG_HOME}/err_${LOG_PREFIX}.log</File><!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件路径,新的 ERR 日志文件名称,“ i ” 是个变量 --><FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%i.log</FileNamePattern><!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志--><MaxHistory>${MAX_HISTORY}</MaxHistory><!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB--><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${MAX_FILE_SIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><!-- 输出的日志内容格式化--><layout class="ch.qos.logback.classic.PatternLayout"><Pattern>${LOG_MSG}</Pattern></layout></appender><!-- additivity 设为false,则logger内容不附加至root ,配置以配置包下的所有类的日志的打印,级别是 ERROR--><logger name="org.springframework"     level="ERROR" /><logger name="org.apache.commons"      level="ERROR" /><logger name="org.apache.zookeeper"    level="ERROR"  /><logger name="com.alibaba.dubbo.monitor" level="ERROR"/><logger name="com.alibaba.dubbo.remoting" level="ERROR" /><!-- ${LOG_ROOT_LEVEL} 日志级别 --><root level="${LOG_ROOT_LEVEL}"><!-- 标识这个"${STDOUT}"将会添加到这个logger --><appender-ref ref="${STDOUT}"/><!-- FILE_ALL 日志输出添加到 logger --><appender-ref ref="FILE_ALL"/><!-- FILE_ERROR 日志输出添加到 logger --><appender-ref ref="FILE_ERROR"/></root></configuration>

Profile 相关的配置可以参考:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><!-- roll by day --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">   <fileNamePattern>logs/springboot-logback-demo.%d{yyyy-MM-dd}.log</fileNamePattern>   <maxHistory>30</maxHistory>  </rollingPolicy>   <encoder>   <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>   </encoder>  </appender> <!-- dev --><logger name="org.springframework.web" level="INFO"/><root level="INFO"><appender-ref ref="FILE" /></root><!-- test or production --><springProfile name="test,prod"><logger name="org.springframework.web" level="INFO"/><logger name="com.pdai.springboot" level="INFO"/><root level="INFO"><appender-ref ref="FILE" /></root></springProfile></configuration>

在配置前可以参考如下文章

https://www.cnblogs.com/warking/p/5710303.html

示例源码

https://download.csdn.net/download/DeveloperFire/87519876

http://www.mmbaike.com/news/68822.html

相关文章:

  • 网站的建设的含义东莞做网页建站公司
  • 网站建设项目申请站长工具ping检测
  • 饮用水品牌营销型网站如何自己做网页
  • 网站开发增值税税率五八精准恶意点击软件
  • SEO做得最好的网站百度 指数
  • 手机网站相册代码seo教学网seo
  • 商城网站上做内容冲突吗产品推广方案怎么做
  • 做网站月薪小蝌蚪幸福宝入口导航
  • 济南品牌网站建设价格seo怎么才能优化好
  • 大讲堂123专注网站模板制作学做网站培训班要多少钱
  • 士兵突击网站怎么做新站优化案例
  • 鹰潭做网站的品牌企业seo咨询
  • 遵义网站建设服务免费网站站长查询
  • 上海装修公司排名前十名手机seo快速排名
  • 品牌建设政策高级seo是什么职位
  • 怎么提高网站流量今日头条(官方版本)
  • 最好网站开发公司百度推广后台登录页面
  • 做音乐创作的网站域名权重查询
  • 网站费用多少钱一年信息如何优化上百度首页公司
  • 高端网站建设模板广州排前三的seo公司
  • 请专业做网站的老师百度引擎搜索引擎
  • 做非洲国际贸易网站搜索软件
  • 浙江城乡建设部网站首页株洲网站建设
  • 慈善公益网站建设零基础学什么技术好
  • 王烨燃大夫简介济南优化哪家好
  • 如何用VS2017做网站枫树seo
  • 主题网站界面设计使用网站模板快速建站
  • 网站做外链是什么意思网站开发
  • 网站销售都怎么做的搜索引擎优化网站的网址
  • 做移动端网站软件下载大数据营销系统多少钱