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

网站规划怎么做做网站好

网站规划怎么做,做网站好,推荐10网站,网站建设管理教程视频文章目录 前言功能简述1. 自定义日志文件名2. 归档规则 && 压缩2.1. 归档配置2.2. 归档压缩2.3. 日志格式 && 编码 现象原因解决办法 前言 在 Springboot 应用中&#xff0c;默认使用 logback-spring.xml 配置日志相关 功能简述 1. 自定义日志文件名 <fi…

文章目录

  • 前言
  • 功能简述
    • 1. 自定义日志文件名
    • 2. 归档规则 && 压缩
      • 2.1. 归档配置
      • 2.2. 归档压缩
      • 2.3. 日志格式 && 编码
  • 现象
  • 原因
  • 解决办法

前言

Springboot 应用中,默认使用 logback-spring.xml 配置日志相关

功能简述

1. 自定义日志文件名

	<file>${log.path}/sys-info.log</file>

2. 归档规则 && 压缩

2.1. 归档配置

    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 单个文件最大大小 --><maxFileSize>50MB</maxFileSize><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy>

2.2. 归档压缩

通过 <fileNamePattern> 文件后缀判断是否压缩,支持 GZZIP

     <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 单个文件最大大小 --><maxFileSize>50MB</maxFileSize><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy>

源码伪代码

    switch (compressionMode) {case GZ:if (fileNamePatternStr.endsWith(".gz"))return fileNamePatternStr.substring(0, len - 3);elsereturn fileNamePatternStr;case ZIP:if (fileNamePatternStr.endsWith(".zip"))return fileNamePatternStr.substring(0, len - 4);elsereturn fileNamePatternStr;case NONE:return fileNamePatternStr;}

2.3. 日志格式 && 编码

     <encoder><!-- 编码 --><charset>UTF-8</charset><!-- 日志格式 --><pattern>${log.pattern}</pattern></encoder>

现象

多个进程或者实例 的日志同时打印在 同一个文件 中,且日志文件归档使用 压缩,日志目录下出现了大量的 .tmp 临时文件,占用内存

原因

归档伪代码

	 // 无压缩if (compressionMode == CompressionMode.NONE) {// 配置 file 标签if (getParentsRawFileProperty() != null) {// 直接重命名归档renameUtil.rename(getParentsRawFileProperty(), elapsedPeriodsFileName);} } else { // 压缩// 未配置 file 标签if (getParentsRawFileProperty() == null) {// 直接压缩归档compressionFuture = compressor.asyncCompress(elapsedPeriodsFileName, elapsedPeriodsFileName, elapsedPeriodStem);} else {// 先重命名为 .tmp 文件,然后再压缩归档;compressionFuture = renameRawAndAsyncCompress(elapsedPeriodsFileName, elapsedPeriodStem);}}
    private void gzCompress(String nameOfFile2gz, String nameOfgzedFile) {// 源文件(可能是 .log 也可能是 .log.tmp 文件)File file2gz = new File(nameOfFile2gz);if (!file2gz.exists()) {return;}// 目标压缩文件if (!nameOfgzedFile.endsWith(".gz")) {nameOfgzedFile = nameOfgzedFile + ".gz";}File gzedFile = new File(nameOfgzedFile);// 如果目标文件已存在,则直接返回;不同版本写法略有不同,但大同小异;// 此处多进程或实例同时操作时,可能出现后边执行归档操作的进程直接 return,未执行删除逻辑if (gzedFile.exists()) {return;}......    BufferedInputStream bis = null;GZIPOutputStream gzos = null;try {bis = new BufferedInputStream(new FileInputStream(nameOfFile2gz));gzos = new GZIPOutputStream(new FileOutputStream(nameOfgzedFile));......// 如果源文件存在,则删除if (!file2gz.delete()) {addStatus(new WarnStatus("Could not delete [" + nameOfFile2gz + "].", this));}} catch (Exception e) {......    } finally {......    }}

解决办法

  • 不压缩:直接归档原始日志文件,不存在此问题
  • 压缩:不使用 <file> 标签,可以跳过 .tmp 文件创建逻辑
http://www.yayakq.cn/news/355363/

相关文章:

  • .win域名做网站怎么样上海本土互联网公司
  • 群艺馆网站建设方案网站建设公司新员工培训ppt
  • 武威做网站网站建设合同模板下载
  • 网站排名英文wordpress 小影
  • 服务器禁止ip访问网站微信公众号 小程序
  • 丹东淘宝做网站网站建设的发展目标
  • 做网站前端程序员舟山市建设工程造价管理协会网站
  • 住房建设厅网站开工作室做网站怎样找资源
  • 企业官网建站联系我们ps毕业设计做网站界面
  • 公司网站制作的公司网站建设公司好做吗
  • 电脑网站开发学习网站设计课程总结
  • 模板网站可以做优化做产地证需要备案上哪个网站
  • 家居行业网站建设网站建设中的咨询服务
  • 郑州市建设工程造价信息网站一个人开发一个网站需要多久
  • 网站建设的相关技术方案网站托管服务适用于哪种类型的网站
  • 简单的做图网站海安县建设局网站
  • php源码网站后台面密码忘了在哪能找回密码云南小程序开发制作公司
  • wordpress 手工升级关键词优化ppt
  • 四大商业网站网站建设贰金手指下拉壹玖
  • 关于做情侣的网站的图片网站访问工具
  • 企业网站的建设有哪些经典问题坪山网站建设信息
  • 企业网站制作费做分录网络营销的特点中任何时间任何地点体现的是
  • 我的专业网站建设策划书如何创建小程序
  • html5网站抓取建设网站的意义作用是什么
  • 深圳建站公司有推荐的公司吗小程序电商平台排名
  • 网站建设seo策略互联网软件有哪些
  • 福州网站大全个人网站备案怎么做
  • 广州做网站新锐比格设计网站官网
  • 空间站建设乐清网站设计制作
  • 进qq空间上面没有网站长治电商平台网站