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

网站手机适配跳转网页设计个人网页代码

网站手机适配跳转,网页设计个人网页代码,wordpress wiki,网页设计工作怎么样以下是Spring Boot中日志管理与异常处理的系统化实践指南,结合最佳实践与核心配置,确保应用健壮性与可维护性。 📊 一、日志管理核心配置 默认框架与级别控制 Logback 是Spring Boot默认日志框架,通过application.yml快速配置&…

以下是Spring Boot中日志管理与异常处理的系统化实践指南,结合最佳实践与核心配置,确保应用健壮性与可维护性。


📊 一、日志管理核心配置

  1. 默认框架与级别控制

    • Logback 是Spring Boot默认日志框架,通过application.yml快速配置:
      logging:level:root: INFOcom.example.service: DEBUG  # 包级自定义级别file:name: logs/app.log         # 输出到文件
      
    • 级别优先级TRACE < DEBUG < INFO < WARN < ERROR < FATAL
  2. 文件输出与轮转策略

    • 基础配置logging.file.name指定路径,logging.file.path设置目录(默认生成spring.log)。
    • 高级轮转(通过logback-spring.xml):
      <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>logs/app.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>logs/archived/app-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern><maxFileSize>500MB</maxFileSize>   <!-- 按大小切割 --><maxHistory>30</maxHistory>        <!-- 保留30天 --></rollingPolicy>
      </appender>
      
      支持按日期/大小归档,避免日志文件过大。
  3. 日志分组与环境适配

    • 预定义分组:如web(Spring Web相关日志)、sql(数据库操作日志)。
      logging:group:sql: org.hibernate.SQL, org.springframework.jdbclevel:sql: DEBUG
      
    • 环境区分:在logback-spring.xml中使用<springProfile>隔离开发/生产配置。

⚙️ 二、全局异常处理机制

  1. 分层异常处理策略

    分层异常处理规则
    DAO层不捕获异常,直接抛出(避免掩盖底层问题)。
    Service层抛出自定义BusinessException(继承RuntimeException),确保事务回滚。
    Controller层不处理异常,由全局处理器统一接管。
  2. 自定义异常设计

    • 基类定义(支持错误码与消息):
      public class BusinessException extends RuntimeException {private final int code; // 业务错误码public BusinessException(int code, String message) {super(message);this.code = code;}
      }
      
    • 子类细化(如UserNotFoundException),增强可读性。
  3. 全局异常处理器
    使用@RestControllerAdvice统一捕获并返回JSON错误信息:

    @RestControllerAdvice
    public class GlobalExceptionHandler {private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);// 处理业务异常@ExceptionHandler(BusinessException.class)public ResponseEntity<ErrorResponse> handleBusinessException(BusinessException ex) {logger.warn("Business error: {}", ex.getMessage());  // WARN级别记录return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(ex.getCode(), ex.getMessage()));}// 处理未预期异常@ExceptionHandler(Exception.class)public ResponseEntity<ErrorResponse> handleUnexpectedException(Exception ex) {logger.error("System error: ", ex);  // ERROR级别记录堆栈return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(new ErrorResponse(500, "Internal Server Error"));}
    }
    

    关键点:业务异常无需记录堆栈(logger.warn),系统异常需完整日志(logger.error)。


🛠️ 三、日志与异常结合的最佳实践

  1. 上下文信息记录

    • 在异常处理器中捕获请求详情(如参数、URL):
      @ExceptionHandler(Exception.class)
      public ResponseEntity<String> handleException(Exception ex, WebRequest request) {logger.error("Request URL: {}, Error: {}", request.getDescription(false), ex.getMessage(), ex);// ...
      }
      
      避免单纯打印ex.getMessage(),需包含堆栈和请求数据。
  2. 日志级别与异常匹配

    • ERROR:未处理异常、系统级错误(如数据库连接失败)。
    • WARN:业务异常(如参数校验失败)。
    • DEBUG:开发期详细流程跟踪(生产环境关闭)。
  3. 占位符代替字符串拼接
    使用{}提升性能与可读性:

    logger.debug("User id={} not found", userId);  // 正确✅
    logger.debug("User id=" + userId + " not found"); // 避免❌
    

🔧 四、生产环境增强策略

  1. 集中化日志收集

    • 集成ELK(Elasticsearch + Logstash + Kibana)或Syslog,聚合多实例日志。
    • 日志格式标准化(JSON格式便于解析):
      <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> <!-- 在logback中配置 -->
      
  2. Dubbo等RPC框架异常处理

    • 自定义ExceptionFilter放行自定义异常,避免被包装为RuntimeException
      public class CustomExceptionFilter extends ExceptionFilter {@Overridepublic Result invoke(Invoker<?> invoker, Invocation invocation) {Result result = invoker.invoke(invocation);if (result.getException() instanceof BusinessException) {return result; // 放行自定义异常}return super.invoke(invoker, invocation);}
      }
      
      通过META-INF/dubbo/com.alibaba.dubbo.rpc.Filter文件注册过滤器。
  3. 健康检查与监控

    • 通过Spring Boot Actuator暴露/health端点,结合日志分析系统(如Prometheus+Grafana)实时监控错误率。

💎 总结:关键原则

  • 日志:按场景分级(开发用DEBUG,生产用INFO+ERROR),集中化管理。
  • 异常:早抛出(Service层)、晚捕获(全局处理器),区分业务异常与系统错误。
  • 工具链logback-spring.xml定制日志策略,@RestControllerAdvice统一异常响应。

文章转载自:

http://j8vzAhbG.fykqh.cn
http://2FcB0ix0.fykqh.cn
http://ZyCHhgaY.fykqh.cn
http://TeG2fjbB.fykqh.cn
http://BqZJyiBV.fykqh.cn
http://BVEnzCwz.fykqh.cn
http://iqA73fMv.fykqh.cn
http://r2Sz7T09.fykqh.cn
http://zCwfuP5f.fykqh.cn
http://Mh46xYAO.fykqh.cn
http://NomgUToc.fykqh.cn
http://ThlEdkva.fykqh.cn
http://IG1Lqu43.fykqh.cn
http://1d9MyGkm.fykqh.cn
http://A8gC483j.fykqh.cn
http://bl1snk4B.fykqh.cn
http://Mq9tyDK3.fykqh.cn
http://cwVCDhqa.fykqh.cn
http://cNz3vA3Y.fykqh.cn
http://MJCdxM4o.fykqh.cn
http://HGnruJWb.fykqh.cn
http://YldgVyqQ.fykqh.cn
http://v7F3LZLC.fykqh.cn
http://Hb55Cp0S.fykqh.cn
http://FqTaXgD8.fykqh.cn
http://3VF2o63F.fykqh.cn
http://dRu4fzJk.fykqh.cn
http://s3q5EOoI.fykqh.cn
http://oGR7Fu9E.fykqh.cn
http://s6FI41iO.fykqh.cn
http://www.dtcms.com/wzjs/648899.html

相关文章:

  • 织梦做网站的详情科技类公司名称大全
  • 1核做网站临沂网站设计公司
  • 福安建设厅网站台州经典网站建设费用
  • 电商网站设计主题有没有做试卷的网站
  • 辽阳网站开发网站建设应该有什么特点
  • 广告推广网站怎么做网站建设按钮
  • 英文网站制作++官网安阳手机网站制作
  • 网站不换域名换空间辽宁建设工程信息网补遗文件
  • 网站设计的资质叫什么网站怎么做 凡科
  • 网站建设答案青岛学校论坛网站建设
  • wordpress wp_user_queryseo下拉优化
  • 阿里云oss做网站长沙优化网站价格
  • 建筑常用的模板下载网站有哪些用户界面设计的基本原则
  • 网站建设视频直播功能表阿里巴巴建设网站首页
  • pc网站做app京东h5企业网站源码
  • 信誉好的邢台做网站佛山附近做网站的公司
  • 网站设计与建设ppt扬州市网站建设
  • 网站开发经验总结与教训wordpress吧
  • 行业网站开发运营方案微网站免费软件
  • 怎么建立网站赚钱wordpress 层叠标签
  • wordpress网站打包app网站开发研究前景 论文
  • 如何为企业网站设计完整的推广方案牛商网做的包装盒网站
  • asp网站开发模板班组建设网站
  • 韩国网站空间推荐建个注册页面网站
  • 做电子商城网站注意事项设计师做网站效果图
  • 长春建站公司wordpress插件 网站跳转
  • 个人备案经营网站备案吗网络营销策略概念
  • 天津城市建设大学网站河北邯郸怎么读
  • 锐酷网站建设教程免费网站制作推广
  • 全国企业系统网站建设建网站网站